Unity学习之绘制血条及仇恨距离

欢迎大家来到我的博客http://unity.gopedu.com/home.php?mod=space&uid=3352&do=blog&view=me&from=space

Unity中如何绘制人物血条

思路就是使用GUI绘制两张图片,一张图片是红色图片,一张图片是黑色图片,黑色图片条是固定的,然后红色图片是人物的生命值,再利用人物生命值减少,增加的百分比来绘制红色图片的宽度,这样就可做出人物血条的效果。

//红色血条 

    public Texture2D blood_Red;

    //黑色血条 

    public Texture2D blood_Black;

    //当前血值 

    public int HP = 100;

 

    void OnGUI()

{

//测试生命值增加的自动生成的按钮

        if (GUILayout.RepeatButton("Add"))

        {

            //增加血值 

            if (HP < 100)

            {

                HP++;

            }

        }

//测试生命值减少的自动生成的按钮

        if (GUILayout.RepeatButton("Sub"))

        {

            //减少血值 

            if (HP > 0)

            {

                HP--;

            }

        }

        //根据当前血量计算红色血条显示的宽度 

        int blood_width = blood_Red.width * HP / 100;

        //绘制黑色血条 

        GUI.DrawTexture(new Rect(100, 100, blood_Black.width, blood_Black.height), blood_Black);

        //绘制红色血条 

        GUI.DrawTexture(new Rect(100, 100, blood_width, blood_Red.height), blood_Red);

}

利用Vector3中的Distance方法计算两个三维坐标之间的距离来进行到达怪物仇恨距离,怪物自动攻击

if (Vector3.Distance(transform.position, hero.position) < 2f)

            {

                if (lifeTime > 0)

                {

                    AnimationToAttack();

                }

                else if (lifeTime == 0)

                {

                    AnimationToDying();

                }

 

            }

请继续关注我的博客

http://unity.gopedu.com/home.php?mod=space&uid=3352&do=blog&view=me&from=space

更多精彩尽在http://www.gopedu.com/

你可能感兴趣的:(学习日志,Unity学习,U3D培训,Unity培训)