UGUI中点击按钮实现animation动画由动画控制机播放、停止和倒放的代码
时间: 2023-12-10 14:42:42 浏览: 87
UGUI的点击按钮实现动画播放、停止和倒放可以通过以下代码实现:
```c#
using UnityEngine;
using UnityEngine.UI;
public class ButtonAnimationController : MonoBehaviour
{
public Animation animation;
public Button playButton;
public Button stopButton;
public Button reverseButton;
void Start()
{
// 绑定按钮点击事件
playButton.onClick.AddListener(PlayAnimation);
stopButton.onClick.AddListener(StopAnimation);
reverseButton.onClick.AddListener(ReverseAnimation);
}
void PlayAnimation()
{
animation.Play();
}
void StopAnimation()
{
animation.Stop();
}
void ReverseAnimation()
{
if (animation.isPlaying)
{
animation[animation.clip.name].time = animation[animation.clip.name].length;
animation[animation.clip.name].speed = -1;
animation.Play();
}
else
{
animation[animation.clip.name].time = 0;
animation[animation.clip.name].speed = 1;
animation.Play();
}
}
}
```
这里假设Animation组件已经添加到游戏对象上,并且动画剪辑已经在Animation组件中设置好。在代码中,我们绑定了三个按钮的点击事件,分别对应播放、停止和倒放操作。其中,播放和停止操作很简单,直接调用Animation组件的Play()和Stop()方法即可。而倒放操作需要先判断当前动画是否正在播放,如果正在播放,则设置动画的时间为动画的长度,速度设置为负数,然后播放动画;如果没有播放,则将动画的时间设置为0,速度设置为正数,然后播放动画。这样就可以实现UGUI中通过按钮控制Animation组件的播放、停止和倒放操作了。
阅读全文