0
点赞
收藏
分享

微信扫一扫

打造安全医疗网络:三网整体规划与云数据中心构建策略

柠檬的那个酸_2333 04-02 14:30 阅读 1

在Unity中有些应用场景的动画是通过序列帧实现的。

如下图即为一个英雄攻击的一个动画:

请添加图片描述

那么如何实现该序列帧动画的播放呢,我们可以通过代码来控制播放。

1、把以上序列帧导入编辑器中,并修改图片属性,如下图所示,其中,Texture Type修改为Sprite(2D and UI),Sprite Mode修改为Single模式,然后点击Apply应用。

请添加图片描述

2、创建一个Image组件,并把序列帧第一帧赋予Image的Source Image,如下图所示:

请添加图片描述

3、编写控制脚本:

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;

public class SpriteAnimation : MonoBehaviour
{
    public Sprite[] sprites; // 存储序列帧动画的所有帧
    public float framesPerSecond = 10.0f; // 每秒播放的帧数

    public Image image;

    // Start is called before the first frame update
    void Start()
    {
         StartCoroutine(PlayAnimation());
    }

    // Update is called once per frame
    void Update()
    {
        
    }

    IEnumerator PlayAnimation()
    {
        while (true)
        {
            for (int i = 0; i < sprites.Length; i++)
            {
                image.sprite = sprites[i];
                yield return new WaitForSeconds(1f / framesPerSecond);
            }
        }
    }
}

4、把控制脚本放置场景中,并把序列帧所有图片拉到sprites数组里面,把Image拉到image变量中,如图所示:

请添加图片描述

5、完毕,运行。

Unity 代码控制播放序列帧动画的实现

举报

相关推荐

0 条评论