【ハルシオンブログ】いたって簡単!UnityのuGUIのオブジェクトをドラッグアンドドロップする方法。
こんにちは!坂内です!
日曜に遅くまで飲むのは愚の骨頂ですね!
頭痛い・・・
まぁ来週も日曜日また飲みなんですが。
さて、ちょうど1年前くらいにドラッグアンドドロップの話を書きました。
【まだ口痛いっす。とりあえずuGUIでドラッグアンドドロップのやり方 その1 】
これとはまた違う、ちょー簡単なD&Dの方法を紹介。
まずは、こんな感じで背景(黒のImage)を用意し、動かすオブジェクトとして、ただの白い四角を用意します。

こんな感じのスクリプトも用意します。
【DragAndDrop.cs】
このスクリプトはCanvasなんかにつけておきます。

動かすオブジェクトをアサインしておきます。
動かすオブジェクト「dragObj」にはEventTriggerをセットし、PointerDown(オブジェクトを押したとき)とPointerUp(オブジェクトを離したとき)のアクションにそれぞれDragAndDrop.csのStartDrag()とEndDrag()を指定してあげます。
==========================================
追記:PinterDownよりも、BeginDrag。PointerUpの代わりにEndDragを使う方がよさそうです!!
==========================================

以上!!
これだけで、ドラッグアンドドロップ完成です!

ということで、本日は簡単なドラッグアンドドロップでした!あでゅ~ノシ
日曜に遅くまで飲むのは愚の骨頂ですね!
頭痛い・・・
まぁ来週も日曜日また飲みなんですが。
さて、ちょうど1年前くらいにドラッグアンドドロップの話を書きました。
【まだ口痛いっす。とりあえずuGUIでドラッグアンドドロップのやり方 その1 】
これとはまた違う、ちょー簡単なD&Dの方法を紹介。
まずは、こんな感じで背景(黒のImage)を用意し、動かすオブジェクトとして、ただの白い四角を用意します。

こんな感じのスクリプトも用意します。
【DragAndDrop.cs】
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class DragAndDrop : MonoBehaviour {
public GameObject dragObj;
bool inDragFlg;
Vector2 cursolPosition;
/// <summary>
/// オブジェクトPointDown
/// </summary>
public void StartDrag() {
inDragFlg = true;
}
/// <summary>
/// オブジェクトPointUp
/// </summary>
public void EndDrag() {
inDragFlg = false;
}
void Update () {
// ドラッグしている間だけオブジェクトを移動
if(inDragFlg) {
cursolPosition = Camera.main.ScreenToWorldPoint(Input.mousePosition);
dragObj.transform.position = cursolPosition;
}
}
}
このスクリプトはCanvasなんかにつけておきます。

動かすオブジェクトをアサインしておきます。
動かすオブジェクト「dragObj」にはEventTriggerをセットし、PointerDown(オブジェクトを押したとき)とPointerUp(オブジェクトを離したとき)のアクションにそれぞれDragAndDrop.csのStartDrag()とEndDrag()を指定してあげます。
==========================================
追記:PinterDownよりも、BeginDrag。PointerUpの代わりにEndDragを使う方がよさそうです!!
==========================================

以上!!
これだけで、ドラッグアンドドロップ完成です!

ということで、本日は簡単なドラッグアンドドロップでした!あでゅ~ノシ
Category: 開発日記(Unity)
« 【ハルシオンブログ】なんかスクリプト開くとMonoDevelopが一緒に開くんですが? | 【ハルシオンブログ】ランダムで重複しない数値がほしい時って。 »
コメント
EventTriggerにはOnBeginDrag, OnDrag, OnEndDragがあるので、そちらを使ったほうが良いのでは…………?
しろくろ #- | URL | 2018/02/26 12:36 [edit]
毎度しろくろさんコメントありがとうございます!!
OnBeginDragとか見てなかった!いつからあったんだろう…
そっちの方がよさそうですね!
ハルシオン #- | URL | 2018/02/26 12:48 [edit]
| h o m e |