繁体   English   中英

使用UI按钮在Unity中移动2D角色

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM