Unity 使用Input.GetAxis(“Horizontal/Vertical“)移动鼠标没反应的原因

在Unity中,当我们使用Input.GetAxis("Horizontal")和Input.GetAxis("Vertical")通过鼠标移动的返回数值以控制物体移动或其它操作时,却没有反应,令人费解。

首先我们获取返回数值并打印:

float horizontal = Input.GetAxis("Horizontal");
Debug.Log(horizontal);

发现无论我们怎么移动鼠标打印结果都是0:

Unity 使用Input.GetAxis(“Horizontal/Vertical“)移动鼠标没反应的原因_第1张图片

事实上跟我们Input设置有关。

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

Unity 使用Input.GetAxis(“Horizontal/Vertical“)移动鼠标没反应的原因_第2张图片

所以我们怎么移动鼠标都是没有数值返回的。 

把它设置为 Mouse Movement模式就可以了,如图:

Unity 使用Input.GetAxis(“Horizontal/Vertical“)移动鼠标没反应的原因_第3张图片

再看打印输出:

Unity 使用Input.GetAxis(“Horizontal/Vertical“)移动鼠标没反应的原因_第4张图片 

数值嘎嘎出来了! 

你可能感兴趣的:(unity,游戏引擎,c#)