投稿日:2021-06-26 Sat
Unityでアプリを作るときに、uGUIでドラッグ実装をすることは良くあると思います。IBeginDragHandler, IDragHandler, IEndDragHandler3つのインターフェースを継承するもので、検索するといっぱいでてきます。
ドラッグ中に
public void OnEndDrag(PointerEventData eventData)
{
Debug.Log(eventData.delta);
}
等でeventData.deltaを使ってるとおもいますが、eventData.deltaから座標を取得したいときってあると思います。
把握したのでここに載せておきます。
uGUI(Canvas)内のIBeginDragHandler, IDragHandler, IEndDragHandlerを継承したMonoBehaviourのLocalPosition
そのLocalPositionをCanvas上のPositionへ変更し
MainCameraに対してWorld座標へ変換しています。
これでuGUI上でドラッグして座標を広いuGUI外のUnity2D(Sprite)や、3DのGameObjectに対して使える座標を使うことができます。
△ PAGE UP