0

我做了一个弹出菜单,当它出现时,我不想移动或环顾四周。移动部分都很好,但是当我禁用 MouseLook 时,我仍然可以上下查看。我怎样才能解决这个问题?另外,我不想冻结游戏时间,因为我以后可能会添加多人游戏,我不希望它冻结其他玩家的游戏。任何帮助将不胜感激。

这是我的代码:

if(canOpen == true && isOpen == false && Input.GetKeyDown(KeyCode.E)) {
        isOpen = true;
        canClose = true;
        player.GetComponent<FPSInputController>().enabled = false;
        player.GetComponent<CharacterMotor>().enabled = false;
        player.GetComponent<MouseLook>().enabled = false;
    }
    else if(isOpen == true && Input.GetKeyDown(KeyCode.E) && canClose == true) {
        isOpen = false;
        canOpen = false;
        player.GetComponent<FPSInputController>().enabled = true;
        player.GetComponent<CharacterMotor>().enabled = true;
        player.GetComponent<MouseLook>().enabled = true;
    }
4

1 回答 1

1

MouseLookUnity 的标准中有两个组件First Person Controller:一个在播放器根上处理围绕 y 轴 ( MouseX) 的旋转,另一个在Camerax 轴 ( MouseY) 上。

要启用/禁用两者,您可以使用:

foreach(var mouseLook in player.GetComponentsInChildren<MouseLook>())
    mouseLook.enabled = false;
于 2013-09-01T09:59:22.820 回答