強制的にドラッグを解除させる方法
(EventTriggerにDragのリスナーを追加する作り)
環境
Unity 5.3.4f1
何パターン化ためしてみた結果。
ドラッグする対象
ドラッグ対象にEventTriggerを追加
イベントはDragを使用
CanvasGroupのBlocksRaycastsを使う
CanvasGroupのBlocksRaycastsをtrueにしてみる。
ドラッグ対象の親オブジェクト(もしくはさらに上層)にCanvasGroupを追加し
BlocksRaycastsのオンオフで制御してみる。
1.ドラッグ開始
↓(ドラッグしたままの状態で)
2.CanvasGroupのBlocksRaycastsをfalseに変更
↓
3.ドラッグは解除されない
手前にブロックするオブジェクトを表示する
CanvasGroupのBlocksRaycastsがだめなんで
ダメな気がするけどとりあえず試してみる
1.ドラッグ開始
↓(ドラッグしたままの状態で)
2.手前にオブジェクトを表示(ImageのRaycastTargetはtrue)
↓
3.ドラッグは解除されない
こんなかんじ
EventTriggerを無効化(コンポーネントの無効化)
1.ドラッグ開始
↓(ドラッグしたままの状態で)
2.ドラッグされている対象のEventTrigger.enableをfalse
↓
3.ドラッグが解除された
「手前にブロックするオブジェクトを表示する」で
ドラッグが解除されてくれるとうれしいんだけどな・・・。
ちなみに今回はじめてGIF動画を録画してみた。
結構簡単だったので使ったツールを紹介
screentogif.codeplex.com