UGUI实现回合制游戏多技能滑动条与血条伤害(新)



1、多技能滑动条
实现滑动方法比较简单。
首先,做一下排列,创建一个空物体,然后添加一个排列的属性,如图:
然后把技能图标都放到该空物体之下,控制其中的一个cell size属性,你会发现很容易就排列好了。
然后,把这个物体放倒一个image下,给image添加一个scroll rect项,这个就是用来控制滑动的,还有添加一个遮罩mask项,通过细微调整里面的属性,以便达到你想要的要求。
 

 

2、血条的制作
血条这个比较简单了,原理就是两张图片image,一张是背景,一张作为背景的子项,作为红色的血条。
给背景添加一个slider,把红色血条的图片拖到fill rect属性下,然后就做成了。

3、技能与血条伤害的控制
我用委托来实现的技能的按键,如下代码:
<span style="white-space:pre">	</span>voidStart () {
                mAnim = GetComponent<Animator>();
                mAnim.SetBool ("idle",true);
                mAnim.SetBool ("skill",false);
 
                //EventDelegate AttackEvent = new EventDelegate (this, "OnAttackClick");
                //GameObject.Find ("Attack").GetComponent<UIButton> ().onClick.Add (AttackEvent);
 
                //imagefill = GameObject.Find ("Canvas").transform.Find ("bloodItem").GetComponent<Image> ();
 
        }
 
        publicvoid OnAttackClick() {
 
                if(isWaitPlayer && ifUIshow) {
 
                        //mAnim.SetTrigger("attack1");
                        mAnim.SetBool("idle",false);
                        mAnim.SetBool ("skill",true);
 
                        isWaitPlayer = false;
                        ifUIshow = false;
                        Debug.Log ("在第"+ index + "回合:主角使用了飞剑斩");
                        index += 1;
                        print (HP);
                        //GameObject.Find ("ButtonAll").SetActive (false);
                }
 
                //GameObject.Find ("ButtonAll").SetActive (false);
                GameObject.Find ("Canvas").transform.Find ("ButtonAll").gameObject.SetActive (false);
 
        }

伤害与血条部分的控制代码如下图:
 

该篇是接着上一篇快速实现回合制游戏的补充,把ui部分改成了ugui来写,大家可以作为参考。工程打个包,回复可下载。有 问题可以在下面提问或者私聊我。
我自己发现个问题,就是如下图的部分,注释掉,不然会出错,原因是我在面板里已经制指定了,这里就不需要了
 
1、多技能滑动条
实现滑动方法比较简单。
首先,做一下排列,创建一个空物体,然后添加一个排列的属性,如图:
然后把技能图标都放到该空物体之下,控制其中的一个cell size属性,你会发现很容易就排列好了。
然后,把这个物体放倒一个image下,给image添加一个scroll rect项,这个就是用来控制滑动的,还有添加一个遮罩mask项,通过细微调整里面的属性,以便达到你想要的要求。
 

 

2、血条的制作
血条这个比较简单了,原理就是两张图片image,一张是背景,一张作为背景的子项,作为红色的血条。
给背景添加一个slider,把红色血条的图片拖到fill rect属性下,然后就做成了。

3、技能与血条伤害的控制
我用委托来实现的技能的按键,如下代码:
<span style="white-space:pre">	</span>void Start () {
                mAnim = GetComponent<Animator>();
                mAnim.SetBool ("idle",true);
                mAnim.SetBool ("skill",false);
 
                //EventDelegate AttackEvent = new EventDelegate (this, "OnAttackClick");
                //GameObject.Find ("Attack").GetComponent<UIButton> ().onClick.Add (AttackEvent);
 
                //imagefill = GameObject.Find ("Canvas").transform.Find ("bloodItem").GetComponent<Image> ();
 
        }
 
        publicvoid OnAttackClick() {
 
                if(isWaitPlayer && ifUIshow) {
 
                        //mAnim.SetTrigger("attack1");
                        mAnim.SetBool("idle",false);
                        mAnim.SetBool ("skill",true);
 
                        isWaitPlayer = false;
                        ifUIshow = false;
                        Debug.Log ("在第"+ index + "回合:主角使用了飞剑斩");
                        index += 1;
                        print (HP);
                        //GameObject.Find ("ButtonAll").SetActive (false);
                }
 
                //GameObject.Find ("ButtonAll").SetActive (false);
                GameObject.Find ("Canvas").transform.Find ("ButtonAll").gameObject.SetActive (false);
 
        }


伤害与血条部分的控制代码如下图:
 

该篇是接着上一篇快速实现回合制游戏的补充,把ui部分改成了ugui来写,大家可以作为参考。工程打个包,回复可下载。有 问题可以在下面提问或者私聊我。
我自己发现个问题,就是如下图的部分,注释掉,不然会出错,原因是我在面板里已经制指定了,这里就不需要了
 
  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 6
    评论
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值