美文网首页
脚本控制序列帧图动画

脚本控制序列帧图动画

作者: 小黑Unity_齐xc | 来源:发表于2019-05-23 13:46 被阅读0次
    
    using System.Collections;
    using System.Collections.Generic;
    using UnityEngine;
    
    public class CommonSpriteAnimation : MonoBehaviour {
        //精灵图片集合
        public Sprite[] sprites;
        //动画执行时间
        public float animTime = 1f;
    
        //精灵渲染器
        private SpriteRenderer renderer;
        //渲染图片位置
        private int rendererPosition;
        //渲染图片间隔
        private float rendererTimer;
    
        void Start () {
            //获得精灵图片渲染器对象
            renderer = GetComponent<SpriteRenderer> ();
        }
    
        /// <summary>
        /// 获得动画执行时间
        /// </summary>
        /// <returns>The animation time.</returns>
        public float getAnimationTime(){
            return animTime;
        }
    
        /// <summary>
        /// 执行动画
        /// </summary>
        public void startAnimation(){
            //验证对象合法性
            if(renderer == null || sprites == null || sprites.Length==0){
                return;
            }
            //初始化参数: 位置、间隔
            rendererPosition = 0;
            rendererTimer = animTime / sprites.Length;
            //开启协同执行动画
            StartCoroutine (doAnimation());
        }
    
        /// <summary>
        /// 执行动画:固定间隔,顺序渲染图片
        /// </summary>
        /// <returns>The animation.</returns>
        IEnumerator doAnimation(){
            while(rendererPosition < sprites.Length){
                renderer.sprite = sprites[rendererPosition];
                rendererPosition += 1;
                yield return new WaitForSecondsRealtime (rendererTimer);
            }
        }
    
        //  //测试动画
        //  float t = 2f;
        //  float t1 = 2f;
        //  void Update(){
        //      if(t1>t){
        //          t1 = 0;
        //          startAnimation ();
        //      }
        //      t1 += Time.deltaTime;
        //  }
    }
    
    

    相关文章

      网友评论

          本文标题:脚本控制序列帧图动画

          本文链接:https://www.haomeiwen.com/subject/hachzqtx.html