Unity と NGUI を使用してゲーム ボードを作成しようとしていますが、すべて問題なく動作しています。ドラッグ可能なオブジェクトと、UIDragDropContainer を使用しているボード上のフィールドで DragNDrop スクリプトを使用しています。しかし、ドラッグ可能なオブジェクトに、オブジェクトがどのフィールドにあるのか、またはどのフィールドにアタッチされているのかを伝える方法はありますか?
ネットで調べましたが、解決策が見つかりません。
どんな助けでも大歓迎です:-)
Unity と NGUI を使用してゲーム ボードを作成しようとしていますが、すべて問題なく動作しています。ドラッグ可能なオブジェクトと、UIDragDropContainer を使用しているボード上のフィールドで DragNDrop スクリプトを使用しています。しかし、ドラッグ可能なオブジェクトに、オブジェクトがどのフィールドにあるのか、またはどのフィールドにアタッチされているのかを伝える方法はありますか?
ネットで調べましたが、解決策が見つかりません。
どんな助けでも大歓迎です:-)
UICamera.hoveredObjectを使用して、マウスまたはタッチが最後にあった最後の gameObject (コライダー付き) を取得します。
私のプロジェクトの 1 つで、同じ問題に遭遇しました。私がしたことは、NGUI のUIDragDropItem
スクリプトを継承し、オブジェクトについて教えてくれるデリゲートを作成することでした。ソースも追加しました:
public class Custom_DragDropItem : UIDragDropItem {
public delegate void DragDropDelegate(GameObject TargetObject);
public DragDropDelegate onDragDrop;
}
インスペクターでドラッグ可能なアイテムの代わりにこのスクリプトを使用UIDragDropItem
し、デリゲートに登録するonDragDrop
だけで、アイテムがドロップされたターゲット オブジェクトが渡されます。