オブジェクトをフリック移動させる

フリック移動させるには 移動させたいオブジェクトにCollider 2Dを入れます

その後 適当なオブジェクトに 以下のスクリプトを入れます

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class Flick : MonoBehaviour
{
    Collider2D obj;
    Vector3 mousePos;
    Vector3 objectPos;
    Vector3 flick;

    void Update()
    {
        if (Input.GetMouseButtonDown(0))
        {
            //クリック位置を所得
            mousePos = Camera.main.ScreenToWorldPoint(Input.mousePosition);
            // クリックしたオブジェクトを取得
            obj = Physics2D.OverlapPoint(new Vector2(mousePos.x, mousePos.y));
            // オブジェクトを取得できた場合
            if (obj != null)
            {
                // オブジェクトの位置を取得
                objectPos = obj.gameObject.transform.position;
                // 位置の差分を保存
                flick.x = objectPos.x - mousePos.x;
                flick.y = objectPos.y - mousePos.y;
            }
        }
        if (Input.GetMouseButton(0) && obj != null)
        {
            //クリック位置を所得
            mousePos = Camera.main.ScreenToWorldPoint(Input.mousePosition);
            //フリック移動
            obj.transform.position = new Vector3(mousePos.x + flick.x, mousePos.y + flick.y, 0);
        }
    }
}

戻る