概要
Unityで、以下のような階層で複数の画像やテキストを重ねて一つのボタンを作るとする

すると、以下のようにButton
に指定されているTarget Graphic
の色しか変更されない問題が発生し、違和感のあるボタンができてしまう
本来以下のような挙動になってほしい
そこで今回は、最初に説明したような作りのボタンでも簡単に上のような挙動のボタンにできるスクリプトを作成したので紹介する
スクリプト
SyncButtonPressedColorBehaviour
スクリプト自体は上記Repositoryに上げているのですぐにコピペで使用 & デモで試しに触ってみることができる
使い方
1. 事前準備
- このスクリプトでは、ボタンを押した時のフェードアニメーションでDOTweenというTweenエンジンを利用している
- もし入れてないない場合 & 単純なコピペですぐに利用したい場合はAssetsStoreからインストールする必要がある
- DOTweenを利用しないで対応したい場合は、フェードアニメーションをしている部分を独自の実装に置き換えていただければ利用できる
2. アタッチ
- 先ほど紹介したリポジトリにある、SyncButtonPressedColorBehaviour.csを目的のボタンにアタッチすれば完了

- これで、ボタンを押下した時、離した時、押しながら指を動かした時の色の挙動が通常のボタンの挙動と同じになる