HackerQuest

No app, no life

趣味と実益を兼ねてプログラマをやっている者👨‍💻

Unity uGUIをドラッグで動かしてステージを選ぶ

完成イメージです. h5fyv-6t500.gif

動かすためには, IDragHandlerのインターフェースを継承する必要がある. OnDrag関数はドラッグが発生しているとき,カーソルが移動するたびに呼び出される.

以下のようなスクリプトを作成する.

using UnityEngine;
using UnityEngine.EventSystems;

public class SlideController : MonoBehaviour, IDragHandler {

    public RectTransform m_rectTransform = null;

    public void OnDrag(PointerEventData eventData)
    {
        m_rectTransform.position += new Vector3(eventData.delta.x*0.01f, 0f, 0f);
    }
}

OnDrag関数のPointerEventData からドラッグのデータを受け取り,動かしたいオブジェクトのRectTransformをいじると動きます.

このスクリプトを動かしたいオブジェクトに着けてRectTransformに自身を入れてあげれば動かすことが可能です.

スクリーンショット 2018-11-08 13.44.51.png

Ryo Tsuzukihashi