Unity手游之路<六>游戲搖桿之Easy Touch 3教程


之前已經介紹過Unity自帶的搖桿Joystick,它用起來很簡單。但是它也存在很多局限,不能全部滿足普通mmo手游的一些需求,例如:要能方便地更好素材;能指定在某個區域顯示,或者只有在該區域觸摸時才出現等等。而這些功能,Easy Touch插件都已經幫你實現了。全部是可配置。大家可以從Asset Store上購買,或者使用free版。 

                                                         (可隨意分享,請注明原文出處http://blog.csdn.net/janeky/article/details/17364903

 

  • 實例

 

還是用上次例子來實現。控制角色的移動

 

  • 步驟

 

1.import “Easy Touch 3”的資源包
2.創建人物模型
3.創建地形
4.添加一個Joystick的實例 :Hedgehog Team->Easy Touch->Extensions->Add a new Joystick。這時我們可以看到它在左下角出來
5.設置搖桿的相關的參數,詳見下圖


6.新建一個腳本MoveController.cs 用來接收搖桿的事件,控制角色的移動。代碼如下:

[csharp]  view plain  copy
 
 在CODE上查看代碼片派生到我的代碼片
  1. using UnityEngine;  
  2. using System.Collections;  
  3.   
  4. public class MoveController : MonoBehaviour {  
  5.   
  6.     void OnEnable()  
  7.     {  
  8.         EasyJoystick.On_JoystickMove += OnJoystickMove;  
  9.         EasyJoystick.On_JoystickMoveEnd += OnJoystickMoveEnd;  
  10.     }  
  11.   
  12.   
  13.     //移動搖桿結束  
  14.     void OnJoystickMoveEnd(MovingJoystick move)  
  15.     {  
  16.         //停止時,角色恢復idle  
  17.         if (move.joystickName == "MoveJoystick")  
  18.         {  
  19.             animation.CrossFade("idle");  
  20.         }  
  21.     }  
  22.   
  23.   
  24.     //移動搖桿中  
  25.     void OnJoystickMove(MovingJoystick move)  
  26.     {  
  27.         if (move.joystickName != "MoveJoystick")  
  28.         {  
  29.             return;  
  30.         }  
  31.           
  32.         //獲取搖桿中心偏移的坐標  
  33.         float joyPositionX = move.joystickAxis.x;  
  34.         float joyPositionY = move.joystickAxis.y;  
  35.   
  36.   
  37.         if (joyPositionY != 0 || joyPositionX != 0)  
  38.         {  
  39.             //設置角色的朝向(朝向當前坐標+搖桿偏移量)  
  40.            transform.LookAt(new Vector3(transform.position.x + joyPositionX, transform.position.y, transform.position.z + joyPositionY));  
  41.             //移動玩家的位置(按朝向位置移動)  
  42.             transform.Translate(Vector3.forward * Time.deltaTime * 5);  
  43.             //播放奔跑動畫  
  44.             animation.CrossFade("run");  
  45.         }  
  46.     }  
  47. }  

完成收工,具體的效果圖


最后我們來看看Easy Touch的參數

  • 總結

Easy Touch提供了虛擬搖桿的解決方案,基本能滿足你的各種需求。包括前面所說的,定制UI,隱藏,指定區域等。可以在你的項目中嘗試使用


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM