代码:
using UnityEngine;
using System.Collections;
public class JoyStickLogic : MonoBehaviour
{
public Transform CamTrans;//MainCamera
public Transform flagTrans;//移动对象
private Vector2 preVec2 = Vector2.zero;
private Vector2 curVec2 = Vector2.zero;
private Vector2 dirVec2 = Vector2.zero;
void Start()
{
EasyJoystick.On_JoystickMoveStart += OnJoystickMoveStartHandler;
EasyJoystick.On_JoystickMove += OnJoystickMoveHandler;
EasyJoystick.On_JoystickMoveEnd += OnJoystickMoveEndHandler;
}
void OnJoystickMoveStartHandler( MovingJoystick move )
{
Debug.Log( "start" );
}
void OnJoystickMoveHandler( MovingJoystick move )
{
Debug.Log( "move" );
preVec2 = curVec2;
curVec2 = move.joystickAxis;
this.DoSendMoveDirection();
}
private void DoSendMoveDirection()
{
dirVec2 = curVec2 - preVec2;
if( dirVec2 == Vector2.zero )
{
return;
}
// EasyTouch移动玩家方法一
flagTrans.LookAt(new Vector3(flagTrans.position.x + curVec2.x, flagTrans.position.y, flagTrans.position.z + curVec2.y));
flagTrans.Translate( Vector3.forward * Time.deltaTime * 50 );
// EasyTouch移动玩家方法一:
// Vector3 vJsDir3D = new Vector3( curVec2.x, curVec2.y, 0f );
// vJsDir3D = CamTrans.rotation * vJsDir3D;
// vJsDir3D.y = 0;
// vJsDir3D = vJsDir3D.normalized;
// flagTrans.forward = new Vector3( vJsDir3D.x, 0f, vJsDir3D.z );
// flagTrans.Translate( Vector3.forward * Time.deltaTime * 50 );
}
void OnJoystickMoveEndHandler ( MovingJoystick move )
{
Debug.Log( "end" );
}
}
关于EasyTouch和JoyStick设置网上都有