zoukankan      html  css  js  c++  java
  • 自己写的连击文字特效

    #region 处理连击文字特效
        private float comboTimer=0.3f;
        private int comboNumber=0;
        private Coroutine comboCoroutine;
    
        protected GameObject comboPrefab;
        protected Transform[] comboNumberTransforms;
        protected Transform comboNumberTransform;
        protected SpriteRenderer[] comboNumberSprites;
        protected SpriteRenderer comboHit;
        protected Animator comboAnimator;
        /// <summary>
        /// 播放连击动画
        /// </summary>
        public void PlayComboEffect()
        {
            comboNumber += 1;
            if (comboCoroutine != null)
            {
                StopCoroutine(comboCoroutine);
            }
            comboCoroutine = StartCoroutine(CountComboNumber());
          
            comboAnimator.SetBool("ComboAni",true);
            InitNunber(comboNumber);
        }
    
        private IEnumerator CountComboNumber()
        {
            
            yield return new WaitForSeconds(comboTimer);
            comboNumber = 0;
            InitNunber(comboNumber);
        }
    
    
        void InitNunber(int level)
        {     
            if (level==0)
            {
                comboNumberTransforms[1].GetComponent<SpriteActive>().SetDeActive();
                comboNumberTransforms[2].GetComponent<SpriteActive>().SetDeActive();
                comboNumberTransforms[3].GetComponent<SpriteActive>().SetDeActive();
                comboHit.sprite = null;
            }
            if (level==1)
            {
                comboNumberTransforms[1].GetComponent<SpriteActive>().SetDeActive();
                comboNumberTransforms[2].GetComponent<SpriteActive>().SetDeActive();
                comboNumberTransforms[3].GetComponent<SpriteActive>().SetDeActive();
    
                comboHit.sprite = DataCenter.Instance.GameData.comboSprites.comboHitSprites[0];
            }
            if (level>1 && level < 10) //一位数
            {
                comboNumberTransforms[2].GetComponent<SpriteActive>().SetDeActive();
                comboNumberTransforms[3].GetComponent<SpriteActive>().SetDeActive();
               
                comboNumberSprites[0].sprite = DataCenter.Instance.GameData.comboSprites.comboNumberSprites[level];
    
                comboHit.sprite = DataCenter.Instance.GameData.comboSprites.comboHitSprites[1];
            }
            else if (level>=10 && level < 100) //二位数
            {            
                if (level==10)
                {
                    comboNumberTransform.localPosition = new Vector3(comboNumberTransform.localPosition.x-0.25f,comboNumberTransform.localPosition.y,comboNumberTransform.localPosition.z);
                }
    
                comboNumberTransforms[3].GetComponent<SpriteActive>().SetDeActive();
    
                comboNumberSprites[0].sprite = DataCenter.Instance.GameData.comboSprites.comboNumberSprites[level/10];
                comboNumberSprites[1].sprite = DataCenter.Instance.GameData.comboSprites.comboNumberSprites[level%10];    
    
                comboHit.sprite = DataCenter.Instance.GameData.comboSprites.comboHitSprites[1];
            }
            else if (level>=100&&level <1000) //三位数
            { 
                if (level==100)
                {
                    comboNumberTransform.localPosition = new Vector3(comboNumberTransform.localPosition.x-0.5f,comboNumberTransform.localPosition.y,comboNumberTransform.localPosition.z);
                }
    
                comboNumberSprites[0].sprite = DataCenter.Instance.GameData.comboSprites.comboNumberSprites[level/100];
                comboNumberSprites[1].sprite = DataCenter.Instance.GameData.comboSprites.comboNumberSprites[level/10%10]; 
                comboNumberSprites[2].sprite = DataCenter.Instance.GameData.comboSprites.comboNumberSprites[level%10]; 
    
                comboHit.sprite = DataCenter.Instance.GameData.comboSprites.comboHitSprites[1];
            }
        }
        #endregion
    
  • 相关阅读:
    python class 的属性
    程序员7年和我的7点感想――我的程序人生
    LCD 调试总结 [转]
    shell sed 替换某行内容
    msm 模拟i2c使用过程分析
    高通平台USB host协议分析 之 一
    Linux文件查找命令find,xargs详述
    (翻译)Android属性系统
    内存对齐.结构体对齐
    python class 用法
  • 原文地址:https://www.cnblogs.com/qiaogaojian/p/7109541.html
Copyright © 2011-2022 走看看