UGUI中点击按钮实现animation动画播放、停止和倒放的代码
时间: 2023-12-10 15:41:57 浏览: 29
点击按钮实现动画效果
以下是一个简单的示例代码,可以实现UGUI中点击按钮来播放、停止和倒放Animation动画:
```csharp
using UnityEngine;
using UnityEngine.UI;
public class AnimationController : MonoBehaviour
{
public Animation anim;
public Button playButton;
public Button stopButton;
public Button reverseButton;
private bool isPlaying = false;
private bool isReversed = false;
void Start()
{
playButton.onClick.AddListener(PlayAnimation);
stopButton.onClick.AddListener(StopAnimation);
reverseButton.onClick.AddListener(ReverseAnimation);
}
void Update()
{
if (isPlaying)
{
if (!isReversed)
anim[anim.clip.name].speed = 1;
else
anim[anim.clip.name].speed = -1;
if (!anim.isPlaying)
isPlaying = false;
}
}
void PlayAnimation()
{
if (!isPlaying)
{
anim.Play();
isPlaying = true;
}
}
void StopAnimation()
{
if (isPlaying)
{
anim.Stop();
isPlaying = false;
}
}
void ReverseAnimation()
{
if (isPlaying)
{
isReversed = !isReversed;
}
}
}
```
在这个示例代码中,我们使用了三个Button,分别是playButton、stopButton和reverseButton,分别用来播放、停止和倒放Animation动画。在Start()函数中,我们为这三个按钮添加了点击事件的监听器。
在Update()函数中,我们检查是否正在播放动画,如果正在播放,则根据isReversed的值来设置动画的播放速度和方向。
在PlayAnimation()函数中,我们检查是否正在播放动画,如果没有,则调用anim.Play()来播放动画,并将isPlaying设置为true。
在StopAnimation()函数中,我们检查是否正在播放动画,如果正在播放,则调用anim.Stop()来停止动画,并将isPlaying设置为false。
在ReverseAnimation()函数中,我们检查是否正在播放动画,如果正在播放,则将isReversed的值取反,来实现动画的倒放效果。
阅读全文