3181人加入学习
(58人评价)
《暗黑战神》3D网游ARPG实战案例(第一季)(Unity 2017.3)
价格 ¥ 450.00
该课程属于 Unity - A计划(一年有效期) 请加入后再学习

因为有多种技能,都放在Update里面,代码太多。自己重写了一下更新冷却效果代码,采用倒计时方式,显示剩余百分比,(范围9~0):

private void Update()
    {
        if(Input.GetKeyDown(KeyCode.Alpha1))
        {
            ClickSkill1Atk();
        }

        if (isSk1CD)
        {
            UpdateSk1FillAmount();
        }
    }

 

public Image imgSk1CD;
    public Text txtSk1CD;
    private bool isSk1CD = false;
    private float sk1CDTime;
    private int sk1Num;
    private float sk1FillCount = 0f;
    private float sk1CDTimeCount;//用于保存冷却剩余百分比

    public void ClickSkill1Atk()
    {
        if (isSk1CD == false)
        {
            BattleSys.Instance.ReqReleaseSkill(1);
            isSk1CD = true;
            SetActive(imgSk1CD);
            imgSk1CD.fillAmount = 1;
            //sk1Num = (int)sk1CDTime;
            //SetText(txtSk1CD, sk1Num);
            sk1CDTimeCount = sk1CDTime;
            sk1FillCount = sk1CDTimeCount / sk1CDTime;
            imgSk1CD.fillAmount = sk1FillCount;
            sk1Num = (int)(sk1FillCount * 10);
            SetText(txtSk1CD, sk1Num);
        }
    }

    public void UpdateSk1FillAmount()
    {
        sk1CDTimeCount -= Time.deltaTime;
        if(sk1CDTimeCount>0)
        {
            sk1FillCount = sk1CDTimeCount / sk1CDTime;
            imgSk1CD.fillAmount = sk1FillCount;
            sk1Num = (int)(sk1FillCount*10);
            SetText(txtSk1CD, sk1Num);
        }
        else
        {
            isSk1CD = false;
            SetActive(imgSk1CD, false);
        }
    }

 

[展开全文]

授课教师

PlaneZhong

课程特色

图文(1)
视频(289)

学员动态