您的位置:首页 > 产品设计 > UI/UE

UGUI实现操纵摇杆

2016-05-27 23:34 453 查看
最近在做项目是用的unity最新的ui系统UGUI,项目需要做一个摇杆,网上大部分都是用的插件和NGUI做的摇杆,unity自带的摇杆也不怎么好用,而最新的unity4.6.x来了,加入了最新的UI系统“UGUI”,那我们怎么用UGUI来制作摇杆呢,比较出色的摇杆插件《Easy Touch》(很强大),还是主要讲讲我们自己怎么做。

[align=left]首先在unity场景里面新建一个空物体和两个Image,把空物体放在创建Image自动生成的Canvas里面,再把两个Image放在空物体里[/align]
[align=left]Image建立方式:GameObject->UI->Image 或者直接在“Hierarchy”右键然后UI->Image,看喜好。[/align]
[align=left]空物体和两个Image的命名看个人喜好。[/align]
[align=left]威恩的节点是这样的:[/align]



[align=left]节点中的joystack是刚刚建立的空节点。[/align]
[align=left]Backgound是摇杆的背景。[/align]
[align=left]JoystackControl是真实的可以拖动的摇杆。[/align]

[align=left]把Backgound和JoystackControl的SourceImage替换成自己喜欢的图片,并且把JoystackControl的图片缩小点,这里我就用系统自带的图片了,威恩这两个节点的inspector如下(我修改过得地方用红框标注了,其他都没改):[/align]



4000

[align=left]如下:[/align]



[align=left]那么样子有了就需要让他动起来,需要三个类“EventTriggerListener”、“JoystackCc”、“PlayerMoveControl”。[/align]

[align=left]EventTriggerListener:在NGUI开发的时候处理事件都会用到UIEventListener,我们已经用的习惯的不得了,而UGUI则不是这种机制,[/align]
[align=left]并且我觉得这种是最合理的方式,所以自己写一套类似的。[/align]
[align=left]只是一个帮助类,不需要挂在任何的游戏对象上。[/align]
[align=left]JoystackCc:这是主要来控制摇杆的。[/align]
[align=left]挂在JoystackControl节点上[/align]
[align=left]PlayerMoveControl:这是主要来通过摇杆来控制角色的。[/align]
[align=left]挂在你想控制的物体上[/align]

[align=left]直接上代码,写了注释,就不哔哔了。[/align]
[align=left]EventTriggerListener.cs[/align]

?
JoystackCc.cs

?
PlayerMoveControl.cs

?
[align=left]建好这三个类之后,把他们绑定到相应的节点上。[/align]
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  unity