html5虚拟摇杆,[Unity插件] 虚拟摇杆EasyTouch
對于移動平臺上的RPG類的游戲,我們常用虛擬搖桿來控制人物角色的行走和一些行為,相信我們對它并不陌生,之前嘗試了EasyTouch2.5,發現并沒有最新版的3.1好用,2.5版本的對于自適應沒有做的很好,而最新版的已經解決了這一問題。當然unity也自帶了搖桿Joystick,用起來也簡單,但存在不少局限,不會滿足普通mmo游戲的需求,比如指定顯示區域或者是更改一些素材等等,而這些EasyTouch插件都已經幫你實現,不得不佩服插件的原作者,能做出這么炫酷好用的插件,當然這估計是老外開發的,關于插件的下載,你可以在AssetStore上購買,當然也可以使用free版。
一、效果圖
感覺很酷有木有!接下來就看一下創建的過程吧!
二、操作步驟
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.創建空物體,命名為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.設置遙感的相關參數
.創建腳本MoveController.cs用來接收遙感事件控制角色的移動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方法:
然后點擊一下按鈕,人物就會跳躍動作!
其他教程:
總結
以上是生活随笔為你收集整理的html5虚拟摇杆,[Unity插件] 虚拟摇杆EasyTouch的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: python批量修改图片格式、重命名
- 下一篇: 关于时间序列分析的协整检验、脉冲响应图、