• Unity3d


    前期工程实现了技能到快捷栏的拖动,但是问题又出现了,我们不能让角色一开始就获取所有的技能,或者说,不能让角色一开始就可以使用所有的技能。

    在本期工程,我们需要对技能进行遮蔽修饰,当角色等级小于技能所需的等级时,遮蔽存在。

    思路:

    ①对技能图标加入遮蔽;②每次隐藏技能栏时对技能状态进行更新;③技能根据是否满足等级进行显示更新。

    则脚本如下:

    ①在skillitem的prefabs中加入一个暗色图标,名称变更为mask;

    ②对SkillUI脚本更新如下:

    Class SkillUI

    {

        void UpdateShow( )

        {

            SkillItem[] items = this.GetComponentsInChild<SkillItem>();

            foreach(SkillItem item in items)

            {

                item.Update(); //该方法我们在后续进行更新

            }

        }

        public void TranslateState( )

        {

            if(isShow)

            {

                tween.PlayRelease( );

                isShow = false;

            }

            else

            {

                UpdateShow( );

                tween.PlayForward( );

                isShow = true;

            }

        }

    }

    ③对SkillItem脚本更新如下:

    Class SkillItem

    {

            private GameObject iconMask;

            void Awake( )

            {

                 iconMask = transform.Find("iconMask").gameObject;

                 iconMask.SetActive(false);

            }

            public void Update( )

            {

                if(info.level <= playerstatus.level)

                {

                     iconMask.SetActive(false);

                     this.GetComponent<SkillIcon>( ).enable = true;

                }

                else

                {

                     iconMask.SetActive(true);

                     this.GetComponent<SkillIcon>( ).enable = false;

                }

            }

    }

    这样就实现了技能的等级的检测。

  • 相关阅读:
    【LINUX编程】一个基于C/S结构的简单通讯程序
    【LINUX内核】LINUX内核编译
    C语言中的auto, static, const, extern, register, restrict, volatile 关键字
    【LINUX编程】Makefile的基本介绍
    【LINUX编程】关于man的详细用法
    DOTween动画插件详解
    cas server端的loginwebflow详细流程
    Linux SSH远程文件/目录传输命令scp
    C#去掉字符串中特定ASC码字符
    解決 Flash 蓋住彈出目錄的方法(转载)
  • 原文地址:https://www.cnblogs.com/yanbenxin/p/5912763.html
Copyright © 2020-2023  润新知