Unityで3DTextの透明度を徐々に下げてフェードアウトしたいのですが、
以下のコードをテキストにアタッチしたところ指定秒後に一瞬で消えてしまいます。
speedをプラスしていってフェードインをする分には問題なくグラデーションするのですが、
マイナスにしてフェードアウトしようとするとなぜ瞬間的に消えてしまうのでしょうか。
C#
1using UnityEngine; 2using System.Collections; 3 4public class Text1 : MonoBehaviour { 5 6 public float fadeStartTime; 7 float alfa; 8 float speed = 0.01f; 9 float red, green, blue; 10 bool isFade = false; 11 12 void Start () { 13 red = GetComponent<TextMesh>().color.r; 14 green = GetComponent<TextMesh>().color.g; 15 blue = GetComponent<TextMesh>().color.b; 16 17 Invoke("Fade", fadeStartTime); 18 } 19 20void Update(){ 21 if(isFade){ 22 alfa -= speed; 23 GetComponent<TextMesh>().color = new Color(red, green, blue, alfa); 24 } 25} 26 27void Fade(){ 28 isFade = true; 29} 30} 31
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2017/01/18 08:28