Unity实现持续点击按钮播放帧动画的效果
前言
在最近的开发中,有这样的一个需求,按住按钮实现帧序列的变化,实现向前播放的动画或者向后倒退的动画。我试了几种方法,最终实现了这一个效果。具体实现方法如下所示:
实现步骤
1.新建工程,导入序列帧,如下图所示。
2.在场景中新建一个Image组件,用于切换帧序列,如下图所示:
3.新建ChangeImage.cs脚本,用于动态切换帧序列,脚本代码如下图所示:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
public class ChangeImages : MonoBehaviour
{
//图片精灵数组
public Sprite[] thisSprite;
//显示图片
public Image thisImage;
//图片数组
public int imageNumber = 0;
public void AddImage()
{
if (imageNumber < 140)
{
imageNumber++;
StartCoroutine(ToShowAddImage());
}
}
public void DelImage()
{
if (imageNumber > 0)
{
imageNumber--;
StartCoroutine(ToShowAddImage());
}
}
IEnumerator ToShowAddImage()
{
yield return new WaitForSeconds(0.1f);
thisImage.sprite = thisSprite[imageNumber];
}
}
4.将ChangeImage.cs脚本挂载到场景中的Canvas上,将序列帧和Image组件赋值到该脚本上,如下图所示:
5.在场景中新添加两个按钮,用于控制动画的播放,如图所