我的角色对象是精灵的集合,有两个动画和一个脚本,我用键盘的默认键控制动作。
角色游戏对象:
我有我的UI按钮,我正在尝试调用处理脚本中附加到角色GameObject
的移动的函数,但是OnClick()
中的问题没有显示功能。脚本中的函数是void FixedUpdate()
,但当我在OnClick()
时,不会显示FixedUpdate
函数。 FixedUpdate()
包含字符的水平移动,Update()包含修改rigidbody2D
参数的字符跳转指令。
UI按钮功能选择:
如果我向UI按钮添加一个触发事件,它会发生相同的事情,不会显示FixedUpdate()
函数。
我想知道是否有其他方法可以将我的角色移动到UI按钮或者我做错了什么。
PD :( C#代码)
答案 0 :(得分:0)
FixedUpdate()
是默认的Monobehavior函数(您可以覆盖)并且不会显示在检查器中按钮的onClick选项中。这也适用于您可以覆盖的其他默认Monobehavior函数(Start,Update,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()
(以及您实施的任何其他类似功能)。
我假设您希望您的角色立即移动/采取行动,一旦按下按钮即可。如果您希望按钮用作切换按钮,则需要稍微修改代码。
我希望有所帮助!