こんにちは。レモンティーです。
今回は前回の記事の続きです。
これを使って、オブジェクト(今回はCube)をドラッグで移動できるようにしてみましょう。
やることは
① タップした場所に動くスクリプトをCubeにアタッチ
② ↑を、EventTriggerでCubeがドラッグされた時に呼び出す
だけです!
さっそくやってみましょう
①
タップしている場所に移動するスクリプトです。
瞬間移動ですが、このドラッグなら自然に見えます。
using System.Collections; using System.Collections.Generic; using UnityEngine; public class DragTest : MonoBehaviour { public void OnDrag() { Vector3 TapPos = Input.mousePosition; TapPos.z = 10f; transform.position = Camera.main.ScreenToWorldPoint(TapPos); } }
これをCubeにつけておきます。
②
次に、EventTriggerのAdd New Event TypeからDragを選択します。
ここに指定したメソッドがDrag中呼ばれます。
後は、呼び出すメソッドを選ぶだけです。
今回は、CubeのDragTestスクリプトのOnDragメソッドなので、
↓のようになります。
これでドラッグの完成です!
動かなかった人は、前回の記事を参考に
Eventsystemはあるか、CameraにRaycasterはついているか
あたりをチェックしてみてください
今回はこれで終ります。
関連
どこをタップしてもドラッグする
sawalemounity.hatenablog.com
スクリプト解説
sawalemounity.hatenablog.com
sawalemounity.hatenablog.com