標籤:des blog http 使用 os io strong for
對於移動平台上的RPG類的遊戲,我們常用虛擬搖杆來控制人物角色的行走和一些行為,相信我們對它並不陌生,之前嘗試了EasyTouch2.5,發現並沒有最新版的3.1好用,2.5版本的對於自適應沒有做的很好,而最新版的已經解決了這一問題。當然unity也內建了搖杆Joystick,用起來也簡單,但存在不少局限,不會滿足普通mmo遊戲的需求,比如指定顯示地區或者是更改一些素材等等,而這些EasyTouch外掛程式都已經幫你實現,不得不佩服外掛程式的原作者,能做出這麼炫酷好用的外掛程式,當然這估計是老外開發的,關於外掛程式的下載,你可以在AssetStore上購買,當然也可以使用free版。
我這裡也提供一個3.1版本的外掛程式:http://download.csdn.net/detail/s10141303/6962919
一、
感覺很酷有木有!接下來就看一下建立的過程吧!
二、操作步驟1.官方文檔上的步驟Quick Start (C#)
1-Import EasyTouch Package.
2-Create an empty gameObject, and name it EasyTouch.(You can choose another name)
Step 1 & 2 can be replace by the option menu
3-Add the EasyTouch.cs script on the EasyTouch gameObject that you just created.
4-Select the EasyTouch gameobject, and verifies that Broadcast messages is set to FALSE in the inspector.
5-Create a new C# script MyFirstTouch
6-Add these methods
[csharp] view plaincopyprint?
- // Subscribe to events
- void OnEnable(){
- EasyTouch.On_TouchStart += On_TouchStart;
- }
- // Unsubscribe
- void OnDisable(){
- EasyTouch.On_TouchStart -= On_TouchStart;
- }
- // Unsubscribe
- void OnDestroy(){
- EasyTouch.On_TouchStart -= On_TouchStart;
- }
- // Touch start event
- public void On_TouchStart(Gesture gesture){
- Debug.Log( "Touch in " + gesture.position);
- }
7-Create an empty gameObject, and name it Receiver.
8- Add MyFirstTouch script to the gameObject Receiver.
9- Run it in editor, and click on the screen
2.翻譯一下以上的步驟
1.import“EasyTouch”資源套件
2.建立空物體,命名為EasyTouch(當然你也可以改成其他名字)
3.添加EasyTouch.cs指令碼在剛剛建立的空物體(EasyTouch)上
4.選擇改物體但不要將BroadcastMessages勾選
5.建立一個新的C#指令碼,命名MyFirstTouch
6.添加這些方法
7.再建立一個空物體,命名為Receiver
8.將MyFirstTouch指令碼添加到空物體Receiver上
9.運行並且點擊遙感,會發現控制台列印了當前按下的座標
3.根據官方的這些提示,自己來做一個屬於自己的人物遙感控制 1.匯入EasyTouch3資源套件2.做好前期準備,包括人物模型、地形的建立3.添加JoyStick執行個體:Hedgehog Team->Easy Touch->Extensions->Add a new Joystick。此時就會在左下角建立了虛擬遙感的執行個體。 4.設定遙感的相關參數5.建立指令碼MoveController.cs用來接收遙感事件控制角色的移動
[csharp] view plaincopyprint?
- using UnityEngine;
- using System.Collections;
-
- public class MoveController : MonoBehaviour {
-
- void OnEnable()
- {
- EasyJoystick.On_JoystickMove += OnJoystickMove;
- EasyJoystick.On_JoystickMoveEnd += OnJoystickMoveEnd;
- }
-
-
- //移動搖杆結束
- void OnJoystickMoveEnd(MovingJoystick move)
- {
- //停止時,角色恢複idle
- if (move.joystickName == "MoveJoystick")
- {
- animation.CrossFade("idle");
- }
- }
-
-
- //移動搖杆中
- void OnJoystickMove(MovingJoystick move)
- {
- if (move.joystickName != "MoveJoystick")
- {
- return;
- }
-
- //擷取搖杆中心位移的座標
- float joyPositionX = move.joystickAxis.x;
- float joyPositionY = move.joystickAxis.y;
-
-
- if (joyPositionY != 0 || joyPositionX != 0)
- {
- //設定角色的朝向(朝向當前座標+搖杆位移量)
- transform.LookAt(new Vector3(transform.position.x + joyPositionX, transform.position.y, transform.position.z + joyPositionY));
- //移動玩家的位置(按朝向位置移動)
- transform.Translate(Vector3.forward * Time.deltaTime * 5);
- //播放奔跑動畫
- animation.CrossFade("run");
- }
- }
- }
幾個函數的執行順序:6. 7.建立點擊按鈕點擊HedgehogTeam->EasyTouch->Extensions->Create a new Button,會在螢幕右下角建立一個button 如何讓有下角的按鈕點擊能做出我們想要的效果呢? jump方法: 然後點擊一下按鈕,人物就會跳躍動作! 如需轉載請註明出處:http://blog.csdn.net/dingxiaowei2013/article/details/19967041
==================== 迂者 丁小未 CSDN部落格專欄=================
MyBlog:http://blog.csdn.net/dingxiaowei2013 MyQQ:1213250243
Unity QQ群:858550 cocos2dx QQ群:280818155
====================== 相互學習,共同進步 ===================