Mozart53 Posted January 3 Report Share Posted January 3 public class DontDestroy : MonoBehaviour { private static DontDestroy singleton; //ein einzelnes private void Awake() { if(singleton == null) { singleton = this; }else if(singleton != this) { Destroy(gameObject); } DontDestroyOnLoad(gameObject); } } In dem Code geht es um eine Hintergrundmusik die nicht doppelt gesetzt werden soll wenn die selbe Szene auftaucht. Ich versuche gerade zu verstehen und wollte mal fragen ob ich richtig liege. Beim ersten if statement setzte ich singleton als "das" Objekt. Beim else if sage ich wenn ich nicht genau das ist zerstöre ich es. Ist das so richtig? Quote Link to comment Share on other sites More sharing options...
Sascha Posted January 3 Report Share Posted January 3 Kommt hin. Du darfst nicht vergessen, dass es hier darum geht, dass nach und nach mehrere Objekte diesen Code ausführen. Das erste wird ankommen, merken dass die statische Variable den Wert "null" hat, und sich dann dort selbst eintragen. Das zweite kommt an, sieht, dass die Variable bereits ein anderes Objekt referenziert, und zerstört sich daraufhin selbst. Das erste Objekt bleibt damit das einzige seiner Sorte. Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.