unity 播放 序列帧图片 动画

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档


前言

适用于一下简单的动态效果,不建议大量使用序列帧。

一、方法一:代码控制播放序列帧

1、设置图片属性

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

2、创建Image组件

创建一个Image组件,并把序列帧第一帧赋予Image的Source Image,作为默认或者起始状态样子。
在这里插入图片描述

3、简单的代码控制

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
using UnityEngine.EventSystems;
namespace Twq
{
    
    
 public class TestPlay : MonoBehaviour
 {
    
    
        public Sprite[] sprites; // 存储序列帧动画的所有帧
        public float framesPerSecond = 10.0f; // 每秒播放的帧数

        public Image image;

        // Start is called before the first frame update
        void Start()
        {
    
    
            StartCoroutine(PlaySprites());
        }
      
        IEnumerator PlaySprites()
        {
    
    
            while (true)
            {
    
    
                for (int i = 0; i < sprites.Length; i++)
                {
    
    
                    image.sprite = sprites[i];
                    yield return new WaitForSeconds(1f / framesPerSecond);
                }
            }
        }
    }
}
 


4、挂载代码并赋值

把控制脚本放置场景中,并把序列帧所有图片拉到sprites数组里面,把Image拉到image变量中
在这里插入图片描述

二、方法二:直接使用

1.Image上添加 Animator组件,并New Animation

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
时间的长度根据组件的需要 调整即可

总结

好记性不如烂笔头!

猜你喜欢

转载自blog.csdn.net/qq_37524903/article/details/144030352
今日推荐