【Unity】ImageのColorをスクリプトから変更
ImageのColorをスクリプトから変更したい
前記事に続きフェード処理途中で若干モヤっとした事のご紹介をします。
下記記事を参考にさせていただきました。
https://qiita.com/Hal_mai/items/1469398078e81bc7ef27
Unityバージョン:Unity 2018.3.13f1
やり方
ImageのColorを変更したいので、スクリプトではImageをSerializeFieldで受け取って、こうアクセスして変更すれば良いよね。
ダメでした。
Colorの内部を直接いじることは出来ないみたいですね。
正しくはこんな感じ。
RGBAの順です。
おまけ
ちなみにですが、RGBA個別の色を取得することは出来ます。
まとめ
・Color内のRGBAは個別に変更できない
・主要な色はカラーネームにある(参考記事参照)
特定の色に変更するだけならば、Color.blackなどカラーネームを使用すればいいですが、動的に色を変更させるなど細かな設定が必要な場合はnew Color(R,G,B,A)のやり方が良いかもしれませんね。
また、参考記事ではmaterialの色を変更していますが、Imageでも使用しているColorは同じなので問題なさそうですね。
個人的にはColorのRGBA個別に色を変更出来たほうが便利なんじゃないかなぁと思うのですが……。