EasyTouch学习

代码:

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设置网上都有

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值