我刚买了NGUI并需要一些帮助...
现在我的2D角色左右箭头向左和向右移动。 我在输入管理器中设置左右箭头设置。
我用NGUI制作了左右箭头按钮,将它们添加到我的UI Root中。 当我按下左箭头按钮时,如何让它模仿按下的左箭头? 或者有没有办法将按下的左箭头按钮添加到输入管理器?
我想做的就是让左箭头键按下左箭头键,右键同样。
如果没有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);
答案 0 :(得分:0)
按钮的效果在OnPress (bool isDown)
功能中处理。默认情况下,每次将鼠标悬停在按钮上时都会调用它。
如果我理解正确,您需要在按下键盘上的相关箭头键的同时模拟此悬停。
为了做到这一点,你必须自己调用OnPress (bool isDown)
函数。尝试将此行添加到您的代码中:
SendMessage("OnPress", true);
这将在添加到游戏对象的所有脚本上调用OnPress函数。
要在特殊游戏对象上调用该函数,只需添加公共变量go
,然后使用go.SendMessage("OnPress", true);
希望,这会有所帮助。 :)