ドラッグアンドドロップでUIのイメージを動かしてみます。決められた範囲内にドロップすると固定されます。

インターフェースの宣言箇所で右クリックして、「クイックアクションとリファクタリング」 > 「インターフェイスを実装します」を選びます。
らくちんですね。
今回は以上です。感想・質問・要望等、お待ちしております (´▽`)
(この記事の使用環境: Unity2017.4.1f1 (.NET4.x Equivalent)、Windows10)

動画
動画はこんな感じ。ドラッグアンドドロップのテスト中。 #Unity pic.twitter.com/wxNvdS6APM
— ねぎたま (@onionslice2) 2018年4月29日
サンプルの仕様
上の動画は以下のように動作しています。- 赤丸のイメージをマウスでドラッグして動かせる
- 赤丸はドラッグ終了する(マウスの左ボタンを離す)とドラッグ前の位置に戻る
- ただし、白い四角の領域内で赤丸を離すと、赤丸は白い四角の中央にスナップされる
- 赤丸はスナップされた後は動かなくなり、ドラッグできなくなる
スクリプト
スクリプトはこんな感じ。スクリプトの要点
上のスクリプトの要点は以下のような感じ。- 3行目: UnityEngine.EventSystems を使用する宣言
- 10行目: ドラッグとドロップに関する各種インターフェースを使用する宣言
- 15,21,27,33行目: 各種インターフェースの実装。ドラッグ開始・ドラッグ中・ドラッグ終了時と、ドロップ時の処理
- 35~38行目:EventSystem.RaycastAll を使って、ドロップ位置のチェック
【ちょいわざ】VisualStudioでのインターフェースの実装
VisualStudio では、下の動画のようにしてインターフェースの実装部を簡単に追加することができます。インターフェースの宣言箇所で右クリックして、「クイックアクションとリファクタリング」 > 「インターフェイスを実装します」を選びます。
らくちんですね。
インターフェースの実装。人類は便利なものを生み出すものですね。 pic.twitter.com/jv1oHF554R
— ねぎたま (@onionslice2) 2018年4月29日
まとめ
以上のように、UnityEngine.EventSystems に含まれる各種インターフェースを利用することにより、ドラッグアンドドロップなどの処理を簡単に実装することができます。参考資料
今回は以上です。感想・質問・要望等、お待ちしております (´▽`)
(この記事の使用環境: Unity2017.4.1f1 (.NET4.x Equivalent)、Windows10)

コメント