在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模式就可以了,如图:
再看打印输出:
?
数值嘎嘎出来了!?