Jump to content
Unity Insider Forum

Position von einem Player ändern


YungCaedo

Recommended Posts

Ich möchte ein Respawnsystem erstellen und möchte wen der Player stirbt das er zu einer gewiisen Positiongesetzt wird. Dies habe ich mit

player.transform.position = new Vector3(x,y,z)    gemacht. Aber der Player wird immer nur kurz zu dieser Position gesetzt und dann ist er wieder da wo er gestorben ist.

Weis jemand was ich da machen kann?

Link zu diesem Kommentar
Auf anderen Seiten teilen

Die Szene neu zuladen wäre ungünstig weil dann alle Variablen zurückgesetzt werden und ich möchte nicht alles abspeichern.

 

public void Respawn()
    {
        Player.transform.position = RespawnPosition.position;

        Cursor.visible = false;
        Cursor.lockState = CursorLockMode.Locked;

        Time.timeScale = 1;
        Player.GetComponent<UnityStandardAssets.Characters.FirstPerson.FirstPersonController>().m_MouseLook.YSensitivity = 2f;
        Player.GetComponent<UnityStandardAssets.Characters.FirstPerson.FirstPersonController>().m_MouseLook.XSensitivity = 2f;

        Interface.SetActive(true);
        StartCoroutine("ShootDelay");
    }

 

Diese funktion wird ausgeführt wen der Spieler nach dem Tod auf einen Button drückt.

 

Link zu diesem Kommentar
Auf anderen Seiten teilen

@YungCaedo Hey! Ich habe nun mal eben schnell ein ähnliches Szenario nachgebaut... der Spieler trifft auf einen Gegner und der Gegner fügt dem Spieler bei jeder Collision 10 Schaden zu... dann wird geprüft ob das Leben des Spielers 0 oder weniger beträgt. Falls dies der Fall sein sollte, spawnt der Spieler an einer bestimmen Position und ich resette das Leben. Wie du unten im Video sehen kannst funktioniert das einwandfrei. Ich weiß nicht, was in deiner Coroutine passiert.... aber irgendwo musst du einen Fehler gemacht haben. Wenn du mir den Rest vom Code zeigst, kann ich dir helfen.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Archiviert

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

×
×
  • Neu erstellen...