標籤:for 定位 oat 人物 isa 判斷 匯入 des character
Easy Touch 搖感控制人物移動
public class joystick : MonoBehaviour
{
public float Speed; //定義速度
private CharacterController CC; //定義人稱控制器
//代碼啟動
private void OnDisable()
{
//啟動調用OnMove,OnMoveEnd
EasyJoystick.On_JoystickMove += OnMove;
EasyJoystick.On_JoystickMoveEnd += OnMoveEnd;
}
private void OnDestroy()
{
//結束關閉OnMove,OnMoveEnd
EasyJoystick.On_JoystickMove -= OnMove;
EasyJoystick.On_JoystickMoveEnd -= OnMoveEnd;
}
private void Start()
{
CC = GetComponent<CharacterController>();//得到控制器
}
//觸摸移動方法
public void OnMove(MovingJoystick move)
{
//判斷是否是Easy Touch 搖感
if (move.joystickName != "New joystick")
{
return;
}
//定義前後左右移動
float joyPositionX = move.joystickAxis.x;
float joyPositionY = move.joystickAxis.y;
//判斷前後移動
if (joyPositionY != 0 || joyPositionX != 0)
{
//定義座標
Vector3 movePosition = new Vector3(joyPositionX, 0, joyPositionY);
//定義座標增量
Vector3 dir = transform.position + movePosition;
//面向方向
transform.LookAt(dir);
//定位移動
Vector3 moVector3 = transform.forward*Time.deltaTime*Speed;
//第一人稱移動
CC.Move(moVector3);
}
}
//觸摸移動方法結束
public void OnMoveEnd(MovingJoystick move)
{
Debug.Log("觸摸抬起")
}
}
註:使用此方法,必須在匯入Easy Touch外掛程式之後進行,一般用於非PC端使用。
Easy Touch 搖感控制人物移動