初心者はこちらです。ですから、私はgameManagerスクリプトからいくつかのテキスト要素をフェードイン/フェードアウトさせたいと思っています。私はUnity - テキストUIのアルファ色をスクリプトから変更しますか?
public float fadeTime = 0.1f;
public Text example;
void FadeOut()
{
example.color.a -= fadeTime;
}
を試みたが、それはエラー
初心者はこちらです。ですから、私はgameManagerスクリプトからいくつかのテキスト要素をフェードイン/フェードアウトさせたいと思っています。私はUnity - テキストUIのアルファ色をスクリプトから変更しますか?
public float fadeTime = 0.1f;
public Text example;
void FadeOut()
{
example.color.a -= fadeTime;
}
を試みたが、それはエラー
がLerpを使用してみてください、私を与えます。 'newColor'の 'alpha'を0に設定する限り、テキストはフェードアウトします。
public Text example;
public Color newColor;
public float fadeTime = 0.1f; //maybe rename this to fadeSpeed
//this should be called somewhere in Update
void FadeOut()
{
example.color = Color.Lerp(example.color, newColor, fadeTime * Time.deltaTime);
}
EDIT:使用コルーチン
void CallingMethod()
{
StartCoroutine(FadeOut());
}
//note the change from 'void' to 'IEnumerator'
IEnumerator FadeOut()
{
//ugly while, Update would be ideal
while (example.color.a > 0)
{
example.color = Color.Lerp(example.color, newColor, fadeTime * Time.deltaTime);
yield return null;
}
//code after fading is finished
}
GetInput()メソッドに統合する必要があるため、Update()に挿入できません。私はfor文でそれを変更しようとしましたが、それは動作しません。 for(fadeTime = 1; fadeTime = 0; fadeTime = fadeTime - 0.1f){example.color = Color.Lerp(example.color、newColor、fadeTime * Time.deltaTime); } – Sciencephile
更新が使用できない時間を制御するもう1つの方法はCoroutinesです。私の編集を参照してください。 – AlexTudo
私は混乱していますが、fadeTimeが一定のままであっても不透明度が変わるのは混乱していますが、ladeがfadeTimeが示すものに変換するはずがないので、fadeTimeを増やす必要がありました。 – Sciencephile
あなたが直接色の値を変更することはできません。その代わりに、別個の色変数を作成し、好きなように変更してみてください。あなたがスムーズにオブジェクトをフェードアウトしたい場合は
Color color = example.color;
color.a -= fadeTime;
example.color = color.a;
、Coroutinesを使用することを検討してください。
どのようなエラーが表示されますか? –
'UnityEngine.UIを使用してください。 ' –
' 'Graphic.color'の戻り値が変数ではないため変更できません " – Sciencephile