三流豆腐。

三流のゲームプログラマ。C/C++/C#/Objective-C/python/技術向上を目指します。

【Unity】ImageのColorをスクリプトから変更

ImageのColorをスクリプトから変更したい

前記事に続きフェード処理途中で若干モヤっとした事のご紹介をします。

下記記事を参考にさせていただきました。

https://qiita.com/Hal_mai/items/1469398078e81bc7ef27

Unityバージョン:Unity 2018.3.13f1

 

やり方

 ImageのColorを変更したいので、スクリプトではImageをSerializeFieldで受け取って、こうアクセスして変更すれば良いよね。

f:id:tofu_doon:20190430124300p:plain

f:id:tofu_doon:20190430124402p:plain

ダメでした。

Colorの内部を直接いじることは出来ないみたいですね。

正しくはこんな感じ。

RGBAの順です。

f:id:tofu_doon:20190430124545p:plain

 

おまけ

ちなみにですが、RGBA個別の色を取得することは出来ます。

f:id:tofu_doon:20190430131521p:plain

 

まとめ

・Color内のRGBAは個別に変更できない

・主要な色はカラーネームにある(参考記事参照)

特定の色に変更するだけならば、Color.blackなどカラーネームを使用すればいいですが、動的に色を変更させるなど細かな設定が必要な場合はnew Color(R,G,B,A)のやり方が良いかもしれませんね。

また、参考記事ではmaterialの色を変更していますが、Imageでも使用しているColorは同じなので問題なさそうですね。

個人的にはColorのRGBA個別に色を変更出来たほうが便利なんじゃないかなぁと思うのですが……。