当我在Unity中禁用MouseLook时,我仍然可以向上和向下查看

时间:2013-09-01 05:01:15

标签: c# unity3d game-engine

我制作了一个弹出式菜单,当它出现时,我不想移动或环顾四周。运动部分都很好,但是当我禁用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;
    }

1 个答案:

答案 0 :(得分:1)

Unity的标准MouseLook上有两个First Person Controller个组件:一个位于播放器根目录,用于处理围绕y轴(MouseX)的旋转,另一个位于Camera上}对于x轴(MouseY)。

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

foreach(var mouseLook in player.GetComponentsInChildren<MouseLook>())
    mouseLook.enabled = false;