Wie erstellen dialogbox, in der Einheit (nicht mit der UnityEditor)?
Ich will Dialogfelder verwenden (mit zwei Optionen).
Versuchte ich UnityEditor, aber wenn ich das Projekt erstellen zum erstellen einer exe-Datei, es hat nicht funktioniert, weil die Skripte mit UnityEditor Referenzen sind gerade in den edit-Modus. Nach der Suche im Internet für Stunden, es wurden zwei Vorschläge (beide nicht arbeiten).
Erste: Mit #if UNITY_EDITOR
vor dem code und endend mit #endif
. In diesem Fall, Es wurde gebaut, ohne Fehler, aber es gab keine Dialogfelder in meinem Spiel überhaupt.
Zweite: das Skript unter Assets/Editor-Verzeichnis. In diesem Fall konnte ich nicht hinzufügen, das Skript zu meinem Spiel-Objekt. Vielleicht erstellen Sie ein neues Skript in Editor-Verzeichnis und einfügen UnityEditor verwendeten Linien in der es funktionieren würde, aber ich konnte nicht herausgefunden, wie dies zu tun.
Verwendet habe ich:
#if UNITY_EDITOR
if (UnityEditor.EditorUtility.DisplayDialog("Game Over", "Again?", "Restart", "Exit"))
{
Application.LoadLevel (0);
}
else
{
Application.Quit();
}
#endif
Ich versuchte auch den Zusatz "using UnityEditor;" und vergießen es mit der Präprozessor-Befehl, den ich erwähnte. Es ist auch nutzlos.
Ist es jemanden zu wissen wie zu verwenden UnityEditor im run-Modus oder wie erstellen von Dialogfeldern, in einer anderen Art und Weise?
- Unity ' s built-in GUI-system verfügt noch nicht über ein Dialogfeld. Wenn Sie die Suche nach der Unity-Foren, die ich bin sicher, jemand hat aus einem Skript (der link ist für eine message-box, aber das Konzept ist ähnlich).
Du musst angemeldet sein, um einen Kommentar abzugeben.
wenn ich Recht verstehen, müssen Sie ein popup-Fenster, wenn der Charakter stirbt (oder der Spieler scheitert). Der UnityEditor-Klassen sind für die Erweiterung des Editors, aber in Ihrem Fall benötigen Sie einen in-game-Lösung. Dies kann in unseren Tests mit der gui von windows.
Hier ist ein kurzes Skript in c#, der erreicht diese.
Können Sie fügen Sie diese Klasse, um alle Ihre Spiel-Objekte, und rufen Sie seine Open mehtod zum öffnen des dialogs.
y
Werte sind die gleichen.Haben Sie einen Blick auf Unity-GUI-Scripting Guide.
Beispiel:
Alternativ könnten Sie zeigen eine texturierte Ebene, in der Mitte der Kamera.