使用UI按钮

时间:2016-01-26 01:09:34

标签: c# unity3d

我的角色对象是精灵的集合,有两个动画和一个脚本,我用键盘的默认键控制动作。

角色游戏对象:

我有我的UI按钮,我正在尝试调用处理脚本中附加到角色GameObject的移动的函数,但是OnClick()中的问题没有显示功能。脚本中的函数是void FixedUpdate(),但当我在OnClick()时,不会显示FixedUpdate函数。 FixedUpdate()包含字符的水平移动,Update()包含修改rigidbody2D参数的字符跳转指令。

UI按钮功能选择:

如果我向UI按钮添加一个触发事件,它会发生相同的事情,不会显示FixedUpdate()函数。

我想知道是否有其他方法可以将我的角色移动到UI按钮或者我做错了什么。

PD :( C#代码)

1 个答案:

答案 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()(以及您实施的任何其他类似功能)。

我假设您希望您的角色立即移动/采取行动,一旦按下按钮即可。如果您希望按钮用作切换按钮,则需要稍微修改代码。

我希望有所帮助!