我制作了一个弹出式菜单,当它出现时,我不想移动或环顾四周。运动部分都很好,但是当我禁用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;
}
答案 0 :(得分:1)
Unity的标准MouseLook
上有两个First Person Controller
个组件:一个位于播放器根目录,用于处理围绕y轴(MouseX
)的旋转,另一个位于Camera
上}对于x轴(MouseY
)。
要启用/禁用两者,您可以使用:
foreach(var mouseLook in player.GetComponentsInChildren<MouseLook>())
mouseLook.enabled = false;