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]
[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]
?
?
?
相关文章推荐
- unity实现多点触控代码
- 在Unity中实现动画的正反播放代码
- Unity UGUI教程之实现滑页效果
- unity实现摄像头跟随
- Unity3D上路_01-2D太空射击游戏
- Unity3D上路_02-第一视角射击游戏
- Unity3D上路_03-塔防游戏
- Unity3D上路_04-基础资源介绍
- Unity3D上路_05-网络相关
- [软件资讯]Unity已支持将3D游戏导出成Flash
- ShaderLab: Pass
- Unity 武器拖尾效果
- unity常见问题之20题
- Unity3D动画存储插件
- unity 赛车相机跟随物体移动
- uLua中遇到的问题
- Unity3d 协程、调用函数、委托
- Unity3d摄像机Camera参数详解
- Unity3d多线程
- 猫都能学会的Unity3D Shader入门指南(一)