おれ、Unity2Dでゲーム作るんだ。

Unity2Dをメインに、覚書などを記事にしていきます。

レイヤーっぽく前面のボタンが出ているときは、後ろのボタンは押せないようにする

オプション画面などを本編の画面にオーバーレイで出すような場合に、 ゲーム本編の方のボタンを押されたくないといった制御したい。

といった場合の話。

例えば、図のように両方押せるボタンがある場合、両方のボタンが押せてしまいます。

f:id:xev:20190805182334j:plain

f:id:xev:20190805182351j:plain

Imageでタップをガード

タップできないようにするためには、触れなくしたらいいというアプローチをとると、 対応は非常に簡単で、画像を一枚挟むことで押せなくなります。

f:id:xev:20190805182348j:plain f:id:xev:20190805182337j:plain f:id:xev:20190805182344j:plain

背景を置きたくない場合でも、Imageの透過を0にしてもガードすることが出来ます。

uGUIのPanel

f:id:xev:20190805182341j:plain

親GameObjectを作って、ボタンと背景画像をまとめてしまえば親のON/OFFだけで制御できるので楽。

f:id:xev:20190805182354p:plain