GameTang
圣骑士
圣骑士
  • UID4314
  • 粉丝3
  • 关注2
  • 发帖数43
  • 社区居民
阅读:1796回复:5

菜鸟日记(一)《技能个数多数累加》

楼主#
更多 发布于:2018-01-02 10:07
最近在做一个VR塔防类的小项目,碰到一个技能类的问题,在此记录一下,防忘


关于技能个数多数累加
1、Unity方面

图片:技能截图.png




 

2、代码方面


using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
public class TestNumberForce : MonoBehaviour
{

    public Image maskImage;                         //技能充能遮罩UI
    public Image skillZeroMaskImage;           //定义技能个数为零时的一个遮罩
    public Text skillNumText;                          //定义表示技能个数的UI;
    public Text skillTime;                                //定义技能倒计时显示
    private int skillCount;                                //定义技能个数
    private bool isStartTimer = false;              //控制技能个数充能完毕后再次进入充能程序无法再次循环执行
    private float skillCD;                                 //技能单个冷却时间
    private float sCD;                                     //技能冷却时间显示
    private float timeCount;                            //技能冷却计时
    // Use this for initialization
    void Start()
    {
        skillCount = 0;                                      //初始重置
        skillCD = 2;                                          //初始重置
        timeCount = 0;                                     //初始重置
        sCD = 2;                                              //初始重置                                  
        maskImage.GetComponent<image>().fillAmount = 1f;  //初始重置      
    }

    // Update is called once per frame
    void Update()
    {
        skillNumText.text = skillCount.ToString();    //玩家当前可使用的技能个数
      
        if (skillCount < 5)                                         //技能个数不满额是进入技能充能循环
        {
            MaskTimer();                                           //执行技能循环的方法
        }

        if (skillCount <= 0)
        {
            skillZeroMaskImage.GetComponent<image>().fillAmount = 1f;     //技能个数为零时,添加技能暂不可用的遮罩UI
        }
        else
        {

            skillZeroMaskImage.GetComponent<image>().fillAmount = 0f;     //当技能个数大于零个时去掉这个表示技能暂不可用的UI

        }

        if (Input.GetMouseButtonDown(0))
        {
            if (skillCount > 0 && skillCount <= 5)
            {
                print("释放了一个狂风之息");
                skillCount -= 1;
            }
            else
            {
                print("技能冷却中····");
            }

        }
    }

    void MaskTimer()
    {
        if (!isStartTimer)                                  
        {
            maskImage.GetComponent<image>().fillAmount = 1;        //技能个数满额再次进入充能遮罩UI再次从头加载进入循环状态  
            isStartTimer = true;
        }

        timeCount += Time.deltaTime;
        skillTime.text = sCD.ToString("f2");                                           //技能倒计时显示
        maskImage.GetComponent<image>().fillAmount = 1 - timeCount / skillCD;      //代表UI界面充能
        sCD -= Time.deltaTime;
        if (maskImage.GetComponent<image>().fillAmount <= 0)
        {
            timeCount = 0;
            sCD = 2;
            maskImage.GetComponent<image>().fillAmount = 1;        //技能UI界面重置
            skillCount += 1;
            if (skillCount > 4)                                    //技能UI面的限制,当技能个数满额时,遮罩加载完不在重置
            {
                maskImage.GetComponent<image>().fillAmount = 0;    //技能UI面的限制,当技能个数满额时,遮罩加载完不在重置
                skillTime.text = string.Empty;               //关闭技能倒计时显示
                isStartTimer = false;                             //限制条件重置
            }          
        }
    }
}

好了,简单记载下,希望有经常做游戏方面的大神帮忙改正下,更好的优化下,谢谢~
[GameTang于2018-01-02 14:01编辑了帖子]

欢迎分享

归海一啸
管理员
管理员
  • 社区居民
  • 最爱沙发
  • 忠实会员
  • 喜欢达人
  • 原创写手
沙发#
发布于:2018-01-02 11:02
AR学院(www.arvrschool.com),从这里感触未来!
GameTang
圣骑士
圣骑士
  • UID4314
  • 粉丝3
  • 关注2
  • 发帖数43
  • 社区居民
板凳#
发布于:2018-01-02 13:42
1739516172
精灵王
精灵王
  • UID748
  • 粉丝1
  • 关注3
  • 发帖数82
  • 社区居民
  • 忠实会员
地板#
发布于:2018-01-03 08:43
老哥我好崇拜你
归海一啸
管理员
管理员
  • 社区居民
  • 最爱沙发
  • 忠实会员
  • 喜欢达人
  • 原创写手
4楼#
发布于:2018-01-03 08:50
1739516172:老哥我好崇拜你回到原帖
你也来个日记吧
AR学院(www.arvrschool.com),从这里感触未来!
GameTang
圣骑士
圣骑士
  • UID4314
  • 粉丝3
  • 关注2
  • 发帖数43
  • 社区居民
5楼#
发布于:2018-01-03 09:08
1739516172:老哥我好崇拜你回到原帖
游客

返回顶部