2017-06-07 3 views
0

image(script)コンポーネントのアルファカラーをGameObjectに変更したいとします。イメージの現在のRGBカラーを取得する

しかし、オブジェクトのRGB値を保存します。

私は次のコードを試してみました:

 targetObject.GetComponent<Image>().color = new Color32(
      (byte)targetObject.GetComponent<Image>().color.r, 
      (byte)targetObject.GetComponent<Image>().color.g, 
      (byte)targetObject.GetComponent<Image>().color.b, 
      toAlpha); 

しかし(byte)targetObject.GetComponent<Image>().color.r 0を返すので、今までに何を。

アイデア?

+0

このコードを実行した後ではどういう意味ですか? – Adrian

+0

@adjanもちろん – David

答えて

2

構造体Colorは[0,1]の範囲のチャネル値を使用します。したがって、白は(1,1,1,1)と黒(0,0,0,0)です。 colorの有効性はではなくColor構造体を返します。

あなたはbytefloatを唱えたとき、チャネルが1、または0である場合に1に満たない場合は、チャンネルごとにintを使用していますColor32構造体(これらの値を使用しているので、結果は1になります範囲が[0,255]である場合、開始色がフル・ホワイトであれば、チャンネルが一杯でない場合(すなわち、< 255がintを使用している場合)、ほぼ黒く(1,1,1,1)チャンネルは完全にオフになります。

new Color32new Colorに変更し、(byte)キャストを削除してください。

関連する問題