Jump to content
Unity Insider Forum

Frage zum Level wechsel


the-grandmaster

Recommended Posts

Ich fliege mit meinen Raumschiff durch meine Map. Wenn ich jetzt auf einen Gegner treffe soll sich eine neue Map öffnen wo dann das Gefecht stattfindet. Ist der Gegner besiegt soll es wieder auf die Große Map gehen. wie mache ich das das ich wieder an der alten stelle bin und wieder alle Daten da sind, waffen und so?

Link zu diesem Kommentar
Auf anderen Seiten teilen

Also ich muss dir jetzt echt mal diese Frage stellen:

 

Schaust du eigentlich auch ins Forum um Antworten zu finden die schon hundertfach gegeben wurden?

Du bist jetzt seit 2010 (also 6 Jahre) hier angemeldet und jede deiner Fragen, die du in letzter Zeit gestellt hast, sind mehr oder weniger Basics!

 

Aber natürlich kriegst du auch eine Antwort auf deine Frage:

Speichere die Daten, bevor du den Szenenwechsel machst. Entweder in eine Variable, die beim Szenenwechsel nicht zerstört wird (Könnte in einem Script sein, welches auf einem leeren Objekt hängt und mit DontDestroyOnLoad eben nicht zerstört wird https://docs.unity3d.com/ScriptReference/Object.DontDestroyOnLoad.html ) oder aber mittels Playerprefs oder aber direkt als File auf die Platte.

All dies wirst du hier im Forum ganz oft finden, wenn du denn mal suchst.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Das hat mir schonmal ein Denkanstoss gegeben.

Habe jetzt ein Objekt erzeugt das nicht zerstört wird, mit einen script drauf.

Wie bekomme ich jetzt die Aktuelle position meines Players da rauf?

 

das habe ich in meiner PlayerControl

player_x = this.transform.position.x;

player_y = this.transform.position.y;

player_z = this.transform.position.z;

 

und weiter?

Ich habe gesucht und nichts gefunden....

Link zu diesem Kommentar
Auf anderen Seiten teilen

the-grandmaster,

 

Du solltest schon unterscheiden können, was ein Tutorial aus macht. Viele Tutorials erklären den Umgang von etwas. Wie man da vorgehen konnte und Tricks und Tipps. Aber, wenn es um ein Mechanik in System geht, da ist man meistens auf sich alleine gestellt. In anderen Worten. Man findet nicht alles zu seinem Projekt.

 

Gamemanager sind in meisten Fällen die etwas von dem Spiel gespeichert haben um über das ganze Spiel entlang von Hauptmenü bis ins Gameplay zu wissen was da passiert. Das wäre zum Beispiel keine Lösung für dich, ABER eine Hilfestellung.

 

Du kannst dir es richtig Komplex machen und dafür hast du vllt sowas für die Zukunft oder du machst es simple.

  1. Benutze bevor du dein Level wechselst Instantiate auf dein player. dann hast du quasi ihn duplizierst. Denn packst du da in den gameobject rein wo, was nicht zerstört wird. Du deaktivierst den natürlich auch.
  2. Wenn du zurück wechselst, kannst du da ja diesen gameobject wieder da rausholen, aktivieren und verwenden.

 

Mit der Methode hast du einen perfekten Duplikat erstellt. Auch die veränderten Werte der Variable sind alle übernommen, falls gebraucht wird.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Und wo finde ich was dazu das es mir in Deutsch erklärt?

 

Ich weiß, das wird immer wieder gesagt und nervt vielleicht diese Antwort zu bekommen, aber:

Du wirst nicht viel zu dem Thema auf Deutsch finden und um ordentlich Hilfestellung zu finden und auch eine Programmiersprache richtig zu verstehen, solltest Du Englisch lernen.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Ich habe es jetzt so gemacht und es funktioniert.....

using UnityEngine;
using System.Collections;
using UnityEngine.SceneManagement;
public class levelwechsel : MonoBehaviour {
public Transform Player;
public static Vector3 playerPos;

void Awake ()
{
Player.position = playerPos;

}

public void SaveGameSettings()
{
playerPos = Player.position;
Application.LoadLevel (1);
}

}

Link zu diesem Kommentar
Auf anderen Seiten teilen

Archiviert

Dieses Thema ist jetzt archiviert und für weitere Antworten gesperrt.

×
×
  • Neu erstellen...