オブジェクトをフリック移動させる
フリック移動させるには 移動させたいオブジェクトに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);
}
}
}
戻る