![](http://img.manew.com/data/attachment/forum/201605/16/113053jahaj899l38r38zu.gif)
1、多技能滑动条
实现滑动方法比较简单。
首先,做一下排列,创建一个空物体,然后添加一个排列的属性,如图:
然后把技能图标都放到该空物体之下,控制其中的一个cell size属性,你会发现很容易就排列好了。
然后,把这个物体放倒一个image下,给image添加一个scroll rect项,这个就是用来控制滑动的,还有添加一个遮罩mask项,通过细微调整里面的属性,以便达到你想要的要求。
![](http://img.manew.com/data/attachment/forum/201605/16/112924j0j0jnlbusl13h70.png.thumb.jpg)
![](http://img.manew.com/data/attachment/forum/201605/16/112925us2cpy0d3fj0f1za.png.thumb.jpg)
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);
}
伤害与血条部分的控制代码如下图:
![](http://img.manew.com/data/attachment/forum/201605/16/112926bactpcqxfvg2q7tp.png.thumb.jpg)
该篇是接着上一篇快速实现回合制游戏的补充,把ui部分改成了ugui来写,大家可以作为参考。工程打个包,回复可下载。有
问题可以在下面提问或者私聊我。
我自己发现个问题,就是如下图的部分,注释掉,不然会出错,原因是我在面板里已经制指定了,这里就不需要了
![](http://img.manew.com/data/attachment/forum/201605/16/173417x30dh29rz2qx39d9.png.thumb.jpg)
![](http://img.manew.com/data/attachment/forum/201605/16/113053jahaj899l38r38zu.gif)
1、多技能滑动条
实现滑动方法比较简单。
首先,做一下排列,创建一个空物体,然后添加一个排列的属性,如图:
然后把技能图标都放到该空物体之下,控制其中的一个cell size属性,你会发现很容易就排列好了。
然后,把这个物体放倒一个image下,给image添加一个scroll rect项,这个就是用来控制滑动的,还有添加一个遮罩mask项,通过细微调整里面的属性,以便达到你想要的要求。
![](http://img.manew.com/data/attachment/forum/201605/16/112924j0j0jnlbusl13h70.png.thumb.jpg)
![](http://img.manew.com/data/attachment/forum/201605/16/112925us2cpy0d3fj0f1za.png.thumb.jpg)
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);
}
伤害与血条部分的控制代码如下图:
![](http://img.manew.com/data/attachment/forum/201605/16/112926bactpcqxfvg2q7tp.png.thumb.jpg)
该篇是接着上一篇快速实现回合制游戏的补充,把ui部分改成了ugui来写,大家可以作为参考。工程打个包,回复可下载。有
问题可以在下面提问或者私聊我。
我自己发现个问题,就是如下图的部分,注释掉,不然会出错,原因是我在面板里已经制指定了,这里就不需要了
![](http://img.manew.com/data/attachment/forum/201605/16/173417x30dh29rz2qx39d9.png.thumb.jpg)