對于移動平臺上的RPG類的游戲,我們常用虛擬搖桿來控制人物角色的行走和一些行為醋安,相信我們對它并不陌生杂彭,之前嘗試了EasyTouch2.5,發(fā)現(xiàn)并沒有最新版的3.1好用茬故,2.5版本的對于自適應(yīng)沒有做的很好盖灸,而最新版的已經(jīng)解決了這一問題。當然unity也自帶了搖桿Joystick磺芭,用起來也簡單赁炎,但存在不少局限,不會滿足普通mmo游戲的需求钾腺,比如指定顯示區(qū)域或者是更改一些素材等等徙垫,而這些EasyTouch插件都已經(jīng)幫你實現(xiàn),不得不佩服插件的原作者放棒,能做出這么炫酷好用的插件姻报,當然這估計是老外開發(fā)的,關(guān)于插件的下載间螟,你可以在AssetStore上購買吴旋,當然也可以使用free版损肛。
我這里也提供一個3.1版本的插件下載地址:?http://download.csdn.net/detail/s10141303/6962919
一、效果圖
感覺很酷有木有荣瑟!接下來就看一下創(chuàng)建的過程吧治拿!
二、操作步驟
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
//?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.創(chuàng)建空物體笆焰,命名為EasyTouch(當然你也可以改成其他名字)
3.添加EasyTouch.cs腳本在剛剛創(chuàng)建的空物體(EasyTouch)上
4.選擇改物體但不要將BroadcastMessages勾選
5.創(chuàng)建一個新的C#腳本劫谅,命名MyFirstTouch
6.添加這些方法
7.再創(chuàng)建一個空物體,命名為Receiver
8.將MyFirstTouch腳本添加到空物體Receiver上
9.運行并且點擊遙感嚷掠,會發(fā)現(xiàn)控制臺打印了當前按下的坐標
3.根據(jù)官方的這些提示捏检,自己來做一個屬于自己的人物遙感控制
1.導(dǎo)入EasyTouch3資源包
2.做好前期準備,包括人物模型不皆、地形的創(chuàng)建
3.添加JoyStick實例:Hedgehog Team->Easy Touch->Extensions->Add a new Joystick贯城。此時就會在左下角創(chuàng)建了虛擬遙感的實例。
4.設(shè)置遙感的相關(guān)參數(shù)
.創(chuàng)建腳本MoveController.cs用來接收遙感事件控制角色的移動
using?UnityEngine;??
using?System.Collections;??
public?class?MoveController?:?MonoBehaviour?{??
????void?OnEnable()??
????{??
????????EasyJoystick.On_JoystickMove?+=?OnJoystickMove;??
????????EasyJoystick.On_JoystickMoveEnd?+=?OnJoystickMoveEnd;??
????}??
????//移動搖桿結(jié)束??
????void?OnJoystickMoveEnd(MovingJoystick?move)??
????{??
????????//停止時粟焊,角色恢復(fù)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)??
????????{??
????????????//設(shè)置角色的朝向(朝向當前坐標+搖桿偏移量)??
???????????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");??
????????}??
????}??
}??
幾個函數(shù)的執(zhí)行順序:
6.效果圖
7.創(chuàng)建點擊按鈕
點擊HedgehogTeam->EasyTouch->Extensions->Create a new Button,會在屏幕右下角創(chuàng)建一個button
如何讓有下角的按鈕點擊能做出我們想要的效果呢冤狡?
jump方法:
然后點擊一下按鈕,人物就會跳躍動作项棠!
其他教程: