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);

Unity3D输入管理器和使用按钮为Input. getaxis

按钮的效果在OnPress (bool isDown)函数中处理。默认情况下,当你将鼠标悬停在按钮上时,它就会被调用。

如果我没理解错的话,你是想在按键盘上相关的箭头键时模拟这种悬停。

为了做到这一点,您必须自己调用OnPress (bool isDown)函数。尝试将这一行添加到您的代码中:

SendMessage("OnPress", true);

这将调用OnPress函数的所有脚本添加到游戏对象。

要在一个特殊的游戏对象上调用函数,只需添加一个公共变量go,然后使用go.SendMessage("OnPress", true);

希望,这将帮助。:)