2016-07-09 22 views
0

ich ein Tutorial von Brackeys folgte auf (man kann es here sehen), wie zwischen den Szenen verblassen. Ich folgte dem Tutorial so gut ich konnte, aber wenn ich meine Szene starte, wird die Szene eingeblendet (was nicht passieren sollte) und wenn ich den Knopf drücke, passiert nichts (aber die Szene soll sich ändern).Wie kann ich eine neue Szene einblenden, wenn eine Taste gedrückt wird?

Was mit meinem Code falsch? Wie repariere ich es, so dass eine neue Szene eingeblendet wird, wenn die Taste gedrückt wird? Hier ist mein Code:

changeScene.cs

using UnityEngine; 
using System.Collections; 

public class changeScene : MonoBehaviour { 

public IEnumerator changeToGameScene() { 

    float fadeTime =  GameObject.Find("managerObject").GetComponent<fadeScript>().BeginFade(1); 
    yield return new WaitForSeconds(fadeTime); 
    Application.LoadLevel("gameScene"); 

} 

} 

fadeScript.cs

using UnityEngine; 
using System.Collections; 

public class fadeScript : MonoBehaviour { 


// All Variables 
public Texture2D fadeOutTexture; 
public float fadeSpeed = 0.8f; 

private int drawDepth = -1000; 
private float alpha = 1.0f; 
private int fadeDirection = -1; 

void OnGUI() { 

    alpha += fadeDirection * fadeSpeed * Time.deltaTime; 
    alpha = Mathf.Clamp01(alpha); 

    GUI.color = new Color (GUI.color.r, GUI.color.g, GUI.color.b, alpha); 
    GUI.depth = drawDepth; 
    GUI.DrawTexture (new Rect (0, 0, Screen.width, Screen.height),  fadeOutTexture); 
} 

public float BeginFade (int direction) { 

    fadeDirection = direction; 
    return (fadeSpeed); 

} 

void OnLevelWasLoaded() { 

    BeginFade (-1); 

} 

} 

Antwort

1

Sie könnten versuchen, ein Panel auf der Oberseite der Szene platzieren. Erstellen Sie dann mithilfe einer Animatorkomponente eine neue Animation, bei der die Opazität abnimmt. In der Tat können Sie den Knopf diese Animation aufrufen. Am Ende der Animation können Sie ein Ereignis hinzufügen, um eine Funktion aufzurufen, die das Panel zerstört. Hoffe es hilft.

+0

Ich hatte gehofft, für etwas Hilfe mit dem Code, aber Ihre Art und Weise funktionierte, so nahm ich Ihre Antwort sowieso :) –