ボタン状態による色変更をするスクリプトのメモ
半年前に参考にした元サイトが見つかりませんでした。すいません。
ボタンの色は、
”ボタンコンポーネント”の中の”ColorBlock”の中の”変数”を変更することで色変更できます。
using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.UI; ///【機能】 ボタン状態による色変更 ///【第一引数】色を変更したいボタン ///【第二引数】変更したい色(new Color32(byte a,byte b,byte c,byte d)) ///【第三引数】色を変更したい状態(0:normalColor 1:highlightedColor 2:pressedColor 3:selectedColor 4:disabledColor) private void ButtonStateColorChange(Button button, Color32 color, int changeState) { ColorBlock colorblock = button.colors; switch (changeState) { case 0://normalColor colorblock.normalColor = color; break; case 1://highlightedColor colorblock.highlightedColor = color; break; case 2://pressedColor colorblock.pressedColor = color; break; case 3://selectedColor colorblock.selectedColor = color; break; case 4://disabledColor colorblock.disabledColor = color; break; } button.colors = colorblock; } //例----------------------------------------------------- [SerializeField] private Button stage_button;//ボタンコンポーネントの変数を宣言 変更したいボタンをアタッチ private Color32 button_color;//Color32型の変数を宣言 private void Start() { //色設定 button_color = new Color32(10, 40, 255, 255); //設定した色をstage_buttonを押した時の色へ設定 ButtonStateColorChange(stage_button, button_color, 3); }
Unity本を出版しました!
突然ですが、Unity本を出版しました!
こちらを読むことで、スクリプトの基礎固めができます!
現在、kindle unlimitedで読み放題設定中です。今のうちにどうぞ!
もっと早く教えてほしかった!Unity C#入門