[英]Move a 2D character in Unity with UI Button
我的角色对象是精灵的集合,具有两个动画和一个脚本,我使用键盘上的默认键控制移动。
角色GameObject:
我有我的UI按钮,我试图调用该函数来处理附加到角色GameObject
的脚本内部的运动,但是问题出在未显示该函数的OnClick()
中。 脚本中的函数为void FixedUpdate()
,但当我在OnClick()
,则不显示FixedUpdate
函数。 所述FixedUpdate()
包含字符和更新(的水平移动)包含字符跳转指令修改所述rigidbody2D
参数。
UI按钮功能选择:
如果我将触发事件添加到UI Button,它会发生相同的事情,不会显示FixedUpdate()
函数。
我想知道是否还有其他方法可以将角色的动作附加到UI按钮上,或者我做错了什么。
PD:(C#代码)
FixedUpdate()
是默认的Monobehavior函数(可以覆盖),并且不会显示在检查器中按钮的onClick选项中。 这也适用于您可以替代的其他默认Monobehavior功能(开始,更新,OnTriggerEnter等)。
由于您已经在FixedUpdate()
实现了大多数代码,因此我建议通过以下方式对其进行一些修改:
private bool toMoveRight = false;
...
void FixedUpdate()
{
if (toMoveRight)
{
// YOUR EXISTING LOGIC HERE
//...
toMoveRight = false;
}
}
....
public void MoveRight()
{
toMoveRight = true;
}
//USE SIMILAR FUNCTIONS TO MOVE LEFT, JUMP, OTHER MOVEMENTS THAT YOU NEED
现在,您可以在检查器中按钮的onClick的下拉列表中找到MoveRight()
(以及您实现的任何其他类似函数)。
我假设您想让您的角色立即移动/采取行动,并且一旦按下按钮就可以。 如果希望这些按钮用作切换按钮,则需要稍作修改。
希望对您有所帮助!
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.