Felix K. Geschrieben 1. Dezember 2013 Melden Share Geschrieben 1. Dezember 2013 Hallo, ich hab folgendes Problem und such eine Lösung dafür. Szenenaufbau: In meiner Szene befindet sich ein Fahrzeug, welches man steuern kann. Wenn dieses Fahrzeug crasht, ist es vorbei und man muss das Level neustarten. Nachdem das Fahrzeug kaputt ist, erscheint ein Button mit dem man ins Hauptmenü zurückkommt, das Hauptmenü ist eine eigene Scene. Was geht schief? Wenn ich auf den Button "neues Spiel" im Hauptmenü drücke. Wird via: Application.LoadLevel(1); das Level neu gestartet. Alles ist wieder wie es sein soll. Fahrzeug in Ordnung, steht am Spawn-Punkt usw. Das Problem ist nur, das die letzte Geschwindigkeit beim Unfall noch da ist und das Fahrzeug legt los. Fragen: Kann man das so zurücksetzen als wäre es der erste Start des Levels? Oder muss ich ne Lösung finden die die Werte wieder auf 0 setzt? Danke im voraus Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
Thariel Geschrieben 1. Dezember 2013 Melden Share Geschrieben 1. Dezember 2013 Das ist eigentlich normalerweise gar nicht möglich. Wenn ein Level geladen wird, sollte alles wie beim ersten mal sein. Könnte es sein, das du die Geschwindigkeit irgendwie "extern" Speicherst? Zum Beispiel in einer anderen Klasse oder sowas? Oder verwendest du irgendwo DontDestroyOnLoad? Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
Sascha Geschrieben 1. Dezember 2013 Melden Share Geschrieben 1. Dezember 2013 Irgendwas ist da krumm, die Geschwindigkeit von Rigidbodys sollte wie alles andere auch zurückgesetzt werden. Deine erste Frage ist also beantwortet mit: Ja, und das tust du eigentlich auch schon. Offenbar lässt aber eines deiner Scripts das Auto in die neu geladene Szene hinein wechseln. Arbeitest du irgendwo mit static oder DontDestroyOnLoad? //e: Ja geil, zweiter Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
Felix K. Geschrieben 1. Dezember 2013 Autor Melden Share Geschrieben 1. Dezember 2013 Hi, danke für die Antworten. Ja, static benutze ich an paar Stellen. Der Fehler wird auch irgendwo in der Richtung liegen. Na da schau ich morgen/ bzw heute mal nach wo der Fehler liegt. Man sieht den Wald vor lauter Bäumen manchmal nicht. Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
AgentCodeMonk Geschrieben 2. Dezember 2013 Melden Share Geschrieben 2. Dezember 2013 Be careful using statics^^ Klar kann man damit ein paar Shortcuts machen, aber wie man sieht geht es genauso gut auch voll gegen den Baum Ich würde dir empfehlen statics nur für Dinge zu benutzen um irgendwas auszurechnen oder für Methoden, die du nicht x mal in jedes Script schreiben willst... sowas wie: public static int GetIrgendwasAus(int a, int {return a+b;} oder public static void MachWasMit(Spieler spieler, int a, int { var e = a+b; spieler.EinePublicMethodeAmSpieler(e); Debug.Log(spieler.MeinName + " hat irgendwas bekommen: " +e); } Ansonsten lieber die Finger davon lassen. Kleiner Tipp: Du hast sicher einen GameController oder GameManager... wenn du dort eine static var einbaust wie public static Spieler MeinSpieler; und sich dein Spieler zB. in seiner Awake Methode beim GameManager "anmeldet" und sagt GameManager.MeinSpieler = this; kannst du diesen "Shortcut" (GameManager.MeinSpieler) überall gut nutzen, ohne immer wieder über GetComponent oder ähnliches zu gehen. Das kann eine Menge Kopfschmerzen ersparen. Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
Felix K. Geschrieben 2. Dezember 2013 Autor Melden Share Geschrieben 2. Dezember 2013 Ohh, danke für den Tipp. Mein Spielchen funktioniert zwar schon ganz gut, aber vom Quellcode her könnte man denken das man mitn Rasenmeher drüber ist. Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
Mese96 Geschrieben 2. Dezember 2013 Melden Share Geschrieben 2. Dezember 2013 Das selbe hatte ich gestern auch... Mein Spiel hat nur eine Scene wenn ich sterbe lade ich die Scene einfach neu, nur die gestoppte Zeit läuft einfach weiter. 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.