在Unity中,当我们使用Input.GetAxis("Horizontal")和Input.GetAxis("Vertical")通过鼠标移动的返回数值以控制物体移动或其它操作时,却没有反应,令人费解。
首先我们获取返回数值并打印:
float horizontal = Input.GetAxis("Horizontal");
Debug.Log(horizontal);
发现无论我们怎么移动鼠标打印结果都是0:

事实上跟我们Input设置有关。
打开Edit->Project Settings->Input Manager,在Axes中的Horizontal和Vertical设置里,我们会看到Type默认是key or Mouse Button模式。

所以我们怎么移动鼠标都是没有数值返回的。
把它设置为 Mouse Movement模式就可以了,如图:

再看打印输出:
数值嘎嘎出来了!
文章讲述了在Unity中,使用Input.GetAxis控制物体移动时遇到的问题,解决方法是将InputManager的Axes设置从keyorMouseButton更改为MouseMovement,以实现鼠标移动的正确数值返回。
4330

被折叠的 条评论
为什么被折叠?



