UGUI中点击按钮实现animation动画的动画控制机播放、停止和倒放的代码
时间: 2023-12-10 12:41:58 浏览: 80
UGUI中的按钮可以通过添加一个Button组件来实现点击事件的响应。而动画的控制可以通过Animation组件来实现,动画控制机则是通过Animator组件来实现。
下面是一个示例代码,可以实现点击按钮播放/停止/倒放动画:
```csharp
using UnityEngine;
using UnityEngine.UI;
public class AnimationController : MonoBehaviour
{
public Animation animation;
public Animator animator;
public Button playButton;
public Button stopButton;
public Button reverseButton;
private void Start()
{
// 添加按钮点击事件的监听器
playButton.onClick.AddListener(PlayAnimation);
stopButton.onClick.AddListener(StopAnimation);
reverseButton.onClick.AddListener(ReverseAnimation);
}
private void PlayAnimation()
{
animation.Play(); // 播放动画
animator.enabled = true; // 启用动画控制机
animator.speed = 1f; // 设置动画速度为正向
}
private void StopAnimation()
{
animation.Stop(); // 停止动画
animator.enabled = false; // 禁用动画控制机
}
private void ReverseAnimation()
{
animation.Stop(); // 先停止动画
animator.enabled = true; // 启用动画控制机
animator.speed = -1f; // 设置动画速度为倒放
animator.Play("AnimationName"); // 播放动画的名称
}
}
```
这里的Animation和Animator分别是动画组件和动画控制机组件的引用,可以通过拖拽方式或代码获取。
在PlayAnimation和ReverseAnimation方法中,我们启用了动画控制机并设置了动画速度,以便播放正向或倒放的动画。而在StopAnimation方法中,我们禁用了动画控制机,停止了动画的播放。
阅读全文