首页 > Unity3D频道 > 【Unity3D研究院之游戏开发】 > Unity3D研究院之IOS自定义游戏摇杆与飞机平滑的移动(十一)
2012
05-01

Unity3D研究院之IOS自定义游戏摇杆与飞机平滑的移动(十一)

     移动开发游戏中使用到的触摸游戏摇杆在iPhone上是非常普遍的,毕竟是全触摸屏手机,今天MOMO 通过一个小例子和大家讨论Unity3D 中如何自定义一个漂亮的全触摸游戏摇杆。

       值得高兴的是,Unity3D 游戏引擎的标准资源中已经帮助我们封装了一个游戏摇杆脚本,所以实现部分的代码可以完全借助它的,具体调用需要我们自己来。

 Joystick.js是官方提供的脚本,具体代码如下,有兴趣的朋友可以仔细研究研究,MOMO就不多说啦。哇咔咔~

单击Create 创建一个GUI Texture,命名为Joy ,它用来显示游戏摇杆,如下图所示将摇杆的图片资源,与摇杆的脚本连线赋值给Joy.  Pixel Inset 中可以设置摇杆的显示位置与显示宽高。

 

Unity3D研究院之IOS自定义游戏摇杆与飞机平滑的移动(十一) - 雨松MOMO程序研究院 - 1

 

到这一步 build and run 就可以在iPhone上看到这个游戏摇杆,并且可以通过触摸它,360度平滑过度。

在屏幕中绘制一个飞机,通过游戏摇杆去控制飞机的移动。

创建一个脚本,命名为Main.js 如下图所示  将 Main.js 、joy、plan 分别 绑定在Main Camera 上。

 

Unity3D研究院之IOS自定义游戏摇杆与飞机平滑的移动(十一) - 雨松MOMO程序研究院 - 2

 

moveJoystick.position.x;

moveJoystick.position.y; 

这两个值是非常重要的两个信息,它们的取值范围是 -1 到 +1 ,表示 用户触摸摇杆的位置, 上 下 左 右 的信息。

 

导出 build and run  看看在iPhone 上的效果,通过触摸游戏摇杆可以控制飞机的移动啦,不错吧,哇咔咔~~

 

Unity3D研究院之IOS自定义游戏摇杆与飞机平滑的移动(十一) - 雨松MOMO程序研究院 - 3

 

Unity3D研究院之IOS自定义游戏摇杆与飞机平滑的移动(十一) - 雨松MOMO程序研究院 - 4

 

最后欢迎各位盆友可以和MOMO一起讨论Unity3D游戏开发,最近感冒的盆友越来越多,大家要多多注意身体健康噢。哇咔咔~~~ 附上Unity3D工程的下载地址,Xcode项目我就不上传了,须要的自己导出。

 

下载地址:http://vdisk.weibo.com/s/abtVb

雨松MOMO提醒您:亲,如果您觉得本文不错,快快将这篇文章分享出去吧 。另外请点击网站顶部彩色广告或者捐赠支持本站发展,谢谢!

--

最后编辑:
作者:雨松MOMO
专注移动互联网,Unity3D游戏开发
捐 赠如果您愿意花10块钱请我喝一杯咖啡的话,请用手机扫描二维码即可通过支付宝直接向我捐款哦。

  1. momo你看到这个一定要帮我解答一下,我是看完android基本的游戏开发之后直接就看Unity的,看到momo的博客里也有好多cocos2d的文章,蛮多android开发的也都在学cocos2d,我想问的是学cocos2d有必要吗?还是最好学习一下,谢谢momo老师了。

  2. 我现在要实现的功能是摇杆加一个按钮,摇杆控制人物的走动,按钮控制技能。可人物走动的时候我按技能按钮,却不管用。一定要不用摇杆的时候Button才管用 咋办啊

  3. 不要摇杆,根据手指在屏幕上移动来移动物体要怎么弄啊?// Moves object according to finger movement on the screenvar speed : float = 0.1;function Update () { if (Input.touchCount > 0 && Input.GetTouch(0).phase == TouchPhase.Moved) { // Get movement of the finger since last frame var touchDeltaPosition:Vector2 = Input.GetTouch(0).deltaPosition; // Move object across XY plane transform.Translate (-touchDeltaPosition.x * speed, -touchDeltaPosition.y * speed, 0); }}这段代码可以根据手指在屏幕上移动来移动物体,但好像不是跟手指很同步啊

  4. 請問要是想做一個半圓形的搖桿我的搖桿樣子是 有3個鍵頭 分別是上左右鍵 範圍是一個半圓 和 一個圓圈圈的搖桿想要手指移動到按鍵上 圓圈圈就會跑到那個按鍵上 要是超出範圍 圓圈圈會回到 原本的位置上(原本位制是在中間)請問我要怎麼去偵測說 搖桿的圓圈圈離開半圓的範圍外 我想用PLANE下去做 請問我可以用什麼方法來寫呢?

  5. Pingback: 涛涛的小世界 » Unity3d之游戏摇杆的简单应用