想使用Unity3D在手机上实现虚拟摇杆的功能,通过拖动左侧虚拟摇杆控制人物移动,在手机上运行效果如下:
初始时考虑使用官方Joystick,但是使用GUITexture时与游戏中其他功能冲突. 使用官方Joystick的JavaScript版本参考雨松MOMO博客, 链接:http://blog.csdn.net/xys289187120/article/details/6941061 C#版本代码链接:http://blog.csdn.net/hiramtan/article/details/8834187 最后选择使用插件EasyJoystick来实现这个功能. 插件Demo链接: 第一视角:http://www./unity3D/WebPlayer/EasyTouch/ThirdPerson/WebPlayer.html 第三视角:http://www./unity3D/WebPlayer/EasyTouch/ThirdPerson/WebPlayer.html 插件购买链接:http:///content/matthew-worrall/mobile-joystick-controller/3kq
答应过插件原作者写一篇中文教程,教程如下: 英文官方教程链接:http://download.csdn.net/detail/hiramtan/5286699 英文官方编码目录链接:http://download.csdn.net/detail/hiramtan/5286745 1.按照下面的指示创建一个虚拟摇杆:
添加后Unity3D游戏预览窗口如下:
然后发现面板中多了下面两项,创建一个空物体,命名为JoystickManager控制虚拟摇杆事件,如下: 一定要记得第二项"Joystick"物体的名字与JoystickManager.cs代码中的名字一致,下面的步骤会有提示.
查看Joystick属性面板,如下:
通过下面的面板,可以将虚拟摇杆更改为自己的图片资源.
在JoystickManager中添加官方Demo中的示例代码:
注意事项:将此代码中的move.joystickName修改为上面红色标注的名字(hierarchy第二项的名字"Joystick") 官方示例控制的是3D模型,而我这里需要虚拟摇杆控制2D角色移动,共有上下左右四个方向. 修改代码如下:
将虚拟摇杆分为向左或向右拖拽,向左拖拽又分为左上,左,左下.这需要判断虚拟摇杆在x/y轴偏移量的大小,如上代码所示为虚拟摇杆向左拖拽逻辑, 根据偏移量大小播放向左/向上/向下动画,虚拟摇杆同时控制角色的position.向右拖拽时同理.这样虚拟摇杆控制角色移动就完成了. 如有任何建议请发邮件至hiramtan@qq.com 原文链接:http://blog.csdn.net/hiramtan/article/details/8834012 |
|