Hallo Leute, ich wollte in Unity 3D eine Funktion machen die dem Spieler, wenn er die Linke Maustaste drückt, sich 5 Sekunden lang bewegen kann und nach den 5 Sekunden wieder zurück teleportiert wird an die Position (x,y,z) an der er die funktion gestartet hat , sprich (links click)
Meine Frage ist, wie speicher ich Variablen ab ohne dass sie sich immer an die Position des spielers anpasst, ich will wenn er Links Klickt, die Position kurz gespeichert wird an der er geklickt hat und diese soll sich nicht mehr verändern !
Mein scirpt ist folgendes:
public bool realize = false;
public float timer;
void Update () {
float PosX = this.transform.position.x;
float PosY = this.transform.position.y;
float PosZ = this.transform.position.z;
// Left Mouse Button = Activate Realize
if (Input.GetMouseButtonDown (1))
{
Debug.Log("Realize Aktiviert!");
realize = true;
}
// Realize Acitvated
if (realize)
{
timer += Time.deltaTime;
float seconds = timer % 60;
Debug.Log(seconds);
float oldPosX = PosX;
float oldPosY = PosY;
float oldPosZ = PosZ;
if(seconds >= 5)
{
this.transform.position = new Vector3(oldPosX, oldPosY, oldPosZ);
realize = false;
seconds = 0f;
Debug.Log("New Position is: X-" + oldPosX + " Y-" + oldPosY + " Z-" + oldPosZ);
}
}
}
![Bild zum Beitrag](https://images.gutefrage.net/media/fragen/bilder/unity-3d-position-speichern-die-sich-nicht-mehr-veraendert-wenn-gespeichert/0_big.jpg?v=1457148014000)