html5虚拟摇杆,[Unity插件] 虚拟摇杆EasyTouch
對于移動平臺上的RPG類的游戲,我們常用虛擬搖桿來控制人物角色的行走和一些行為,相信我們對它并不陌生,之前嘗試了EasyTouch2.5,發(fā)現(xiàn)并沒有最新版的3.1好用,2.5版本的對于自適應(yīng)沒有做的很好,而最新版的已經(jīng)解決了這一問題。當(dāng)然unity也自帶了搖桿Joystick,用起來也簡單,但存在不少局限,不會滿足普通mmo游戲的需求,比如指定顯示區(qū)域或者是更改一些素材等等,而這些EasyTouch插件都已經(jīng)幫你實(shí)現(xiàn),不得不佩服插件的原作者,能做出這么炫酷好用的插件,當(dāng)然這估計(jì)是老外開發(fā)的,關(guān)于插件的下載,你可以在AssetStore上購買,當(dāng)然也可以使用free版。
一、效果圖
感覺很酷有木有!接下來就看一下創(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(當(dāng)然你也可以改成其他名字)
3.添加EasyTouch.cs腳本在剛剛創(chuàng)建的空物體(EasyTouch)上
4.選擇改物體但不要將BroadcastMessages勾選
5.創(chuàng)建一個新的C#腳本,命名MyFirstTouch
6.添加這些方法
7.再創(chuàng)建一個空物體,命名為Receiver
8.將MyFirstTouch腳本添加到空物體Receiver上
9.運(yùn)行并且點(diǎn)擊遙感,會發(fā)現(xiàn)控制臺打印了當(dāng)前按下的坐標(biāo)
3.根據(jù)官方的這些提示,自己來做一個屬于自己的人物遙感控制
1.導(dǎo)入EasyTouch3資源包
2.做好前期準(zhǔn)備,包括人物模型、地形的創(chuàng)建
3.添加JoyStick實(shí)例:Hedgehog Team->Easy Touch->Extensions->Add a new Joystick。此時(shí)就會在左下角創(chuàng)建了虛擬遙感的實(shí)例。
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)
{
//停止時(shí),角色恢復(fù)idle
if?(move.joystickName?==?"MoveJoystick")
{
animation.CrossFade("idle");
}
}
//移動搖桿中
void?OnJoystickMove(MovingJoystick?move)
{
if?(move.joystickName?!=?"MoveJoystick")
{
return;
}
//獲取搖桿中心偏移的坐標(biāo)
float?joyPositionX?=?move.joystickAxis.x;
float?joyPositionY?=?move.joystickAxis.y;
if?(joyPositionY?!=?0?||?joyPositionX?!=?0)
{
//設(shè)置角色的朝向(朝向當(dāng)前坐標(biāo)+搖桿偏移量)
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)建點(diǎn)擊按鈕
點(diǎn)擊HedgehogTeam->EasyTouch->Extensions->Create a new Button,會在屏幕右下角創(chuàng)建一個button
如何讓有下角的按鈕點(diǎn)擊能做出我們想要的效果呢?
jump方法:
然后點(diǎn)擊一下按鈕,人物就會跳躍動作!
其他教程:
總結(jié)
以上是生活随笔為你收集整理的html5虚拟摇杆,[Unity插件] 虚拟摇杆EasyTouch的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: python批量修改图片格式、重命名
- 下一篇: 关于时间序列分析的协整检验、脉冲响应图、