unity 使用LeanTouch拖动cube移动 2d屏幕坐标转3d世界坐标

1.在unity自带的asset store搜索 Lean touch ,然后找到对应的资源,然后全部都导入到项目中。

2.点击菜单栏GameObject->Lean->Touch。

3.将下面的代码拖到想移动的cube上

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using Lean.Touch;
using System;

public class DragCube : MonoBehaviour
{
    private bool running;
    void Start()
    {
        
    }

    void Update()
    {
        if (this.running)
        {
            // 屏幕移动
            Vector3 screenDelta = LeanGesture.GetScreenDelta();
            Vector3 screenPoint = Camera.main.WorldToScreenPoint(transform.position);
            screenPoint += screenDelta;
            Vector3 point = Camera.main.ScreenToWorldPoint(screenPoint);
            transform.position = new Vector3(point.x, transform.position.y, point.z);
        }
    }

    private void OnEnable()
    {
        LeanTouch.OnFingerDown += HandeFingerDown;
        LeanTouch.OnFingerSet += HandleFingerSet;
        LeanTouch.OnFingerUp += HandleFingerUp;
    }

    private void OnDisable()
    {
        LeanTouch.OnFingerDown -= HandeFingerDown;
        LeanTouch.OnFingerSet -= HandleFingerSet;
        LeanTouch.OnFingerUp -= HandleFingerUp;
    }

    private void HandeFingerDown(LeanFinger finger)
    {
        this.running = true;
    }

    private void HandleFingerSet(LeanFinger finger)
    {
        
    }

    private void HandleFingerUp(LeanFinger finger)
    {
        this.running = false;
    }



}

猜你喜欢

转载自blog.csdn.net/cuijiahao/article/details/109547114
今日推荐