robydog Geschrieben 31. März 2015 Melden Share Geschrieben 31. März 2015 Hallo zusammen Ich hätte da mal eine Frage Ich habe vor bevor das Spiel anfängt via GUI den Benutzer eine Spielerfigur auszuwählen Wie ich die GUI hin bekomme ist mir eigentlich klar Meine Frage ist nun wie kann ich dem SpieleScript mit übergeben welche Spielerfigur der User gewählt hat Durch die GUI wird ja eine neue Scene geladen via: Application.LoadLevel("Kampagne1"); Wie kann ich un der Scene Kampagne 1 mitteiler dass der User Figur NR 3 ausgewählt hat und die Kampagne danach spielifgur 3 lädt? Vielen Dank für eure Hilfe Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
Nax Geschrieben 31. März 2015 Melden Share Geschrieben 31. März 2015 Irgendetwas muss die Information festhalten. Irgendwer anderes muss diese Information "wiederverwerten". Im Prinzip scheinen mir nur folgende Lösungen einzufallen (die endgültige Lösung bzw. die bevorzugte kenn ich nicht xD...sry): Du hälst die Informations als Klassen-Attribut Du hälst die Informations als Instanz-Attribut eines Singletons Du speicherst die Information ausserhalb (UserData oder so) und lädst sie nachträglich Nachdem ich die obige Liste geschrieben habe war es mir klar wonach ich suchen muss und fand auf anhieb folgenden Link: http://docs.unity3d....layerPrefs.html Viel Glück P.S.: Ich wäre wahrscheinlich so faul und würde Klassen Attribute mit Static machen xD Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
jashan Geschrieben 31. März 2015 Melden Share Geschrieben 31. März 2015 Es gibt noch eine weitere Möglichkeit, die ich persönlich für die Sauberste halte: Object.DontDestroyOnLoad(Object) Damit sorgst du dafür, dass ein Objekt das nicht-additive Laden einer neuen Szene "überlebt" ;-) Etwas aufpassen muss man da, dass man dann nicht innerhalb kürzester mehrere solche Objekte baut. Dazu gibt es spezielle Varianten des Singleton-Patterns, bei denen sichergestellt wird, dass neue Instanzen sich automatisch gleich wieder löschen (z.B. wenn nach dem Spiel-Level wieder die Menu-Scene geladen wird, aus der das Objekt ja ursprünglich kommt). Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
robydog Geschrieben 31. März 2015 Autor Melden Share Geschrieben 31. März 2015 Danke Eine mieglichkeit bei application load eine variable mitzugeben gibt es nicht? Bei html php wuerde ich das zb mit get machen Bei obj dint destroy müsste ich also sicherstellen wenn das level beendet ist dass dann das obj zerstoert wird Vielen dank Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
jashan Geschrieben 31. März 2015 Melden Share Geschrieben 31. März 2015 Eine mieglichkeit bei application load eine variable mitzugeben gibt es nicht? Ne, braucht es aber auch nicht. Bei obj dint destroy müsste ich also sicherstellen wenn das level beendet ist dass dann das obj zerstoert wird Entweder das, oder - was normalerweise sinnvoller ist: Wenn die Szene, aus der das Objekt ursprünglich stammt wieder geladen wird, muss die neue Instanz des Objektes gelöscht werden. Eine mögliche Lösung findest du hier: http://wiki.unity3d.com/index.php/Singleton ... finde ich persönlich jetzt etwas kompliziert. Ich denke über die Forum-Suche nach "Singleton" findest du einen Thread mit ein paar simpleren Alternativen. Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
Recommended Posts
Archiviert
Dieses Thema ist jetzt archiviert und für weitere Antworten gesperrt.