【Unity備忘録】Color周り

Color32という奴があるのを把握してなくて、色要素の値の指定で、毎回255で割っていた。
それらの工夫をまとめたが、素直にColor32を使った方が良いっぽい。

基本

UIクラスが保持している構造体。
保持しているクラスの参照を取得してから変更。


//using宣言は忘れないように。
using UnityEngine.UI;

//インスペクターから紐付け。
[SerializeField]
Image image;



image.color = Color.white;

アルファ値

アルファ値は、0に近い程、透過。
1.0f(255)で完全不透明。

  • 0:透明
  • 1.0f(255):不透明

Colorの色要素を0~255で指定

Colorの各色要素の値は、正規化されており、0~1.0fの間で設定しなくてはならない。
インスペクターの色設定の値を参考にしつつ決定する場合、以下のパターンが考えられる。

Color32を使う

Colorと互換性がある為、暗黙的に変換される。


image.color = new Color32(255, 255, 255, 255);

Colorの宣言時に工夫する

色要素の値を0~255で記述した後、255で割る。
intとして扱われると、想定と違う色になるので、明示的にfloatにする。


//山吹色
image.color = new Color(248.0f / 255.0f, 181.0f / 255.0f, 0, 1.0f);

タイトルとURLをコピーしました