Wie man das Spiel zerstören-Objekt als "DontDestroyOnLoad", wenn eine neue Szene geladen wird?
So habe ich eine Musik-player zur Wiedergabe von Musik über alle meine Menü-und story-Szenen, ohne Sie zu unterbrechen, aber dann ist in meinem Spiel die Szene, die ich löschen möchte, die Musik. Wie kann zerstören die Musik zu spielen wenn mein game-Szene lädt?
Hier ist meine Musik-Skript:
#pragma strict
var offsetY : float = 40;
var sizeX : float = 100;
var sizeY : float = 40;
var musicPrefab : Transform;
function Start () {
if (!GameObject.FindGameObjectWithTag("MM")) {
var mManager = Instantiate (musicPrefab, transform.position, Quaternion.identity);
mManager.name = musicPrefab.name;
DontDestroyOnLoad (mManager);
}
}
Du musst angemeldet sein, um einen Kommentar abzugeben.
Einfach anrufen, zerstören Sie es direkt:
Destroy(mManager);
DontDestroyOnLoad schützt nur das Objekt zerstört werden, die beim laden einer neuen Szene.
Erstellte ich ein Skript namens Destroyer.js und befestigte es an der Kamera in der Szene, wo ich nicht Musik hören möchten. Dann in das script Hinzugefügt habe ich diesen code, und es nicht mehr spielen.
Können Sie zerstören das Objekt durch Aufruf
Destroy(objectname)
direkt wie oben erwähnt von Almo. Konnte Sie es platzieren, in der gleichen Funktion aufrufen, die verantwortlich ist für die änderung der Szene, wo Sie nicht wollen, dass die Musik zu spielen.Ich hatte das gleiche Problem, also habe ich versucht
Destroy(gameObject);
wie bereits in den Antworten oben, aber Es hat nicht funktioniert für mich.Also versuchte ich
SceneManager.LoadScene("OtherSceneName", LoadSceneMode.Additive);
- und es funktionierte für mich. Lesen offiziellen docs hier.