Unity3D输入管理器和使用按钮为Input. getaxis
本文关键字:按钮 Input getaxis 输入 管理器 Unity3D | 更新日期: 2023-09-27 18:08:26
我刚买了NGUI,需要一些帮助…
现在我的2D角色正在用左右箭头左右移动。我在输入管理器中设置了左箭头和右箭头。
我用NGUI将左箭头和右箭头按钮添加到我的UI根。我如何让它模仿左箭头被按下,当我按下左箭头按钮?或者是否有一种方法可以将按下的左箭头按钮添加到输入管理器?
我要做的就是让左方向键像我按左方向键一样,也像我按右方向键一样。
如果有另一种不需要NGUI的方法,那也很好。我只是想当我按下移动设备上的左右键时能够左右移动。这个问题我已经纠结了6个小时了,还是想不出来。
任何帮助都将非常感激!谢谢!
下面是我如何移动字符 的例子 float h = Input.GetAxis("Horizontal");
// The Speed animator parameter is set to the absolute value of the horizontal input.
anim.SetFloat("Speed", Mathf.Abs(h));
// If the player is changing direction (h has a different sign to velocity.x) or hasn't reached maxSpeed yet...
if(h * rigidbody2D.velocity.x < maxSpeed)
// ... add a force to the player.
rigidbody2D.AddForce(Vector2.right * h * moveForce);
if (Mathf.Abs(rigidbody2D.velocity.x) > maxSpeed)
rigidbody2D.velocity = new Vector2(Mathf.Sign(rigidbody2D.velocity.x) * maxSpeed, rigidbody2D.velocity.y);
按钮的效果在OnPress (bool isDown)
函数中处理。默认情况下,当你将鼠标悬停在按钮上时,它就会被调用。
如果我没理解错的话,你是想在按键盘上相关的箭头键时模拟这种悬停。
为了做到这一点,您必须自己调用OnPress (bool isDown)
函数。尝试将这一行添加到您的代码中:
SendMessage("OnPress", true);
这将调用OnPress函数的所有脚本添加到游戏对象。
要在一个特殊的游戏对象上调用函数,只需添加一个公共变量go
,然后使用go.SendMessage("OnPress", true);
希望,这将帮助。:)