1. 程式人生 > >Easy Touch 搖感控制人物移動

Easy Touch 搖感控制人物移動

form != iou 導入 方法 har clas 觸摸 delta

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 搖感控制人物移動