• 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;

                }

            }

    }

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

  • 相关阅读:
    namenode无法自动切换的问题
    HDFS 安全模式的理解
    程序启动-Runloop
    浅谈MVC和MVVM模式
    Runtime 运行时之一:消息转发
    Runtime 运行时之一:消息传递
    Runtime 运行时之一:类与对象
    GCC 编译详解
    UIView中的坐标转换
    Xcode 利用VVDocumenter 生成注释 通过设置 再生成注释文档
  • 原文地址:https://www.cnblogs.com/yanbenxin/p/5912763.html
Copyright © 2020-2023  润新知