技能冷却: 判断技能 释放技能

技能冷却:     判断技能   释放技能


using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class skillButton : MonoBehaviour {
        playernimator playerAnimation;
        public PosType posType = PosType .Basic;//根据这个枚举位置判断
        public float coldTime = 4;
        public float coldTimer = 0; //剩余的冷却时间
        UISprite maskSprite;
        UIButton btn;
        void Start () {
               //调用技能播放的一个方法  根据位置判断
              playerAnimation = TranscriptManager ._instance.player.GetComponent< playernimator >();
               if (transform.Find( "mask" )) //子图
              {
                     maskSprite = transform.Find( "mask" ).GetComponent< UISprite >();
              }
               //按钮等于脚本挂载对象的按钮
              btn = this .GetComponent< UIButton >();
       }
       
       
        void Update () {
               if (maskSprite== null ) //没有子图的话就不用技能冷却  说明是普通攻击
              
                      return ; //直接返回
                      if (coldTimer>0)
                     { //每秒开始冷却
                           coldTimer -= Time .deltaTime;
                           maskSprite.fillAmount = coldTimer / coldTime; //填方量=剩余的冷却时间/冷却时间
                            if (coldTimer<=0) //剩余的冷却时间小于0  启用按钮
                           {
                                  Enable();
                           }
                           
                     }
                      else
                     {
                           maskSprite.fillAmount = 0;
                     }
              
              
       }
        void OnPress( bool isPress)
       {
              playerAnimation.OnAttackButtonClick(isPress, posType);
               if (isPress&&maskSprite!= null )
              {
                     coldTimer = coldTime;
                     Dsiable();
              }
       }
               void Dsiable()
       { //设为正常
              btn.SetState( UIButton . State .Normal, true );
               //禁用
              GetComponent< Collider >().enabled = false ;
       }
        private void Enable()
       {       //激活
              GetComponent< Collider >().enabled = true ;
       }
}

释放技能:

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class playernimator : MonoBehaviour {
        private Animator anim;
        void Start () {
              anim = GetComponent< Animator >();
              
       }
        public void OnAttackButtonClick( bool isPress, PosType posType)
       {
               if (posType == PosType .Basic)
              {
                     print(posType);
                      if (isPress)
                           anim.SetTrigger( "attack" );
              }
               else
              {
                     print(posType);
                     print(666);
                     anim.SetBool( "skill" + ( int )posType, isPress);
              }
       }
    
}



  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值