EventSystemを使ったオブジェクトの選択
もう12月です(ヤベえ!)
11月の更新0でした。
申し訳ないです。
ゲームは1つ完成したので近々このブログで紹介します。
今はboard game(自動変換で英語になった)を作ってます。
そんな中で1つ自分では初めてのやり方をしたので紹介。
ボードゲームというかタダのすごろくなのですが、マス目の詳細(1回休み・2マス戻るetc...)を選択して知りたかったのでこんなのを作りました。↓
参考はこちら
参考にしたものは、マウスの座標からRaycast飛ばして光らせるという感じだったんですが、それだとゲーム画面左上のルーレット画面も貫通して背景のパネルを光らせてしまうんですね。
レイヤーで指定してもよかったのですが、そういえばEventSystemでUIと同じようにオブジェクトを選択できるようになったとどこかで聞いたので調べました。
ここを参考に
CameraにPhysics Raycasterを取り付け…
GameObject > UI >EventSystem をSceneに追加します。(何もいじらなくておk)
出来上がったものがこちらになります。
IPointerEnterHandler, IPointerExitHandler,IPointerDownHandler
はそれぞれ
OnPointerEnter(PointerEventData eventData)
OnPointerExit(PointerEventData ped)
OnPointerDown(PointerEventData _data)
に対応してます。
EventDataの引数名がガバガバですね。 まあ今回使わないので…。
最初にmaterialの色(デフォルトの色)を取得し、
選択された時materialの色を青(cyan)に、オブジェクトから出たら元の色に戻す
といった処理をしてます。
ついでにクリックイベントもつけました。log出すだけ。
アドベンチャーゲームがこれ使うとばつ牛ンに作りやすくなりそうですね。
作りたくなってきた。。。
更新は定期的にします!(戒め)
おまけ
OnPointerExit部分を消すとスプラトゥーンごっこが出来る。