2016-11-16 7 views
-1

GUI.Boxのフェードインとフェードアウトの仕方は?私は検索しようとしましたが、テキストを消す方法しか見つけられませんでした。フェードインとフェードアウトGUI.Box

void OnGUI() 
{ 

    GUI.Box(new Rect(20, 20, 300, 100), "Find pH of paper"); 
} 

答えて

2

Unityの新しいGUIシステム以降、OnGUI機能を使用することはお勧めできません。

とにかく、GUIクラスには、静的属性は、単に時間をかけて色の値を設定しGUI.backgroundColor

と呼ばれています。ただし、OnGUI関数でアルファが考慮されるかどうかはわかりません。ここで

はそうする例です。

private void Update() 
{ 
    GUI.backgroundColor = Color.Lerp(Color.white, Color.clear, Mathf.PingPong(Time.time, 1)); 
} 

ユーザーが例えばアクションを行う際にフェードを開始したい場合にもCoroutinesを使用することができます。 UGUIシステムを使用して

private IEnumerator FadeIn(float duration = 1) 
{ 
    for(float t = 0 ; t < duration ; t += Time.deltaTime) 
    { 
      GUI.backgroundColor = Color.Lerp(Color.clear, Color.white, t/duration); 
      yield return null ; 
    } 
} 

簡単に、クリーンかつ高速です。スプライトの色を変更すると、alpha value of a Canvas Groupがケーキになります!

関連する問題