実現・前提したいこと
unityのスクリプトでSliderにあるfillのColorをIf文で変更させたいです。
値が7000以上だったら黄色に、それ以下なら赤にといったことです。調べたのですが、参考になるものがあまりなく悩んでいます。
よろしくお願いします。
試したこと
using UnityEngine; using System.Collections; using UnityEngine.UI; // public class GaugeBar: MonoBehaviour { Slider slider; GameObject fill; void Start () { // スライダーを取得する slider = GameObject.Find("Slider").GetComponent<Slider>(); //フィルを取得する。 fill = GameObject.Find ("Fill"); } float Gauge = 0; void Update () { //ゲージ上昇 Gauge += 50; if(Gauge > 10000) { Debug.Log ("フルチェイン"); //fillのカラーを黄色にしたい Gauge = 0; } else if(Gauge > 7000 && Gauge < 9999){ Debug.Log ("ノルマ達成"); //fillのカラーを赤にしたい } else{ Debug.Log ("ノルマ不達成"); } // ゲージに値を設定 slider.value = Gauge; } Debug.Log ("ノルマ不達成"); //fillのカラーを赤色にしたい } // HPゲージに値を設定 slider.value = Gauge; //テキストの%をゲージの値と同期させる必要がある。 //Debug.Logの判定でゲージを上げるようにするか、数値の範囲内でDestroyされたらゲージを上げるか //70パーセント内になったらゲージを黄色にする。 //100パーセントは緑 } }
fillがuGUIオブジェクトなら「unity image 色変更」
3Dオブジェクトなら「unity renderer 色変更」
2Dオブジェクトなら「unity sprite 色変更」
で検索すると出て来ると思います。その上で分からない点を明記してください。

回答1件
あなたの回答
tips
プレビュー