unity 播放 序列帧图片 动画

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

文章目录

  • 前言
  • 一、方法一:代码控制播放序列帧
  • 1、设置图片属性
  • 2、创建Image组件
  • 3、简单的代码控制
  • 4、挂载代码并赋值
  • 二、方法二:直接使用
  • 1.Image上添加 Animator组件,并New Animation
  • 总结

  • 前言

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

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

    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




    时间的长度根据组件的需要 调整即可

    总结

    好记性不如烂笔头!

    作者:野区捕龙为宠

    物联沃分享整理
    物联沃-IOTWORD物联网 » unity 播放 序列帧图片 动画

    发表回复