Dies ist meine erste legitime Frage, die ich mit Codierung habe und ich weiß nicht, wo Sie eine Antwort finden.transform.position vektor nur ändern, wenn aus der szene
Ich habe ein Objekt, das ich im Laufe der Zeit in der X-Dimension verschieben muss. Hier ist der folgende Code, den ich habe.
Vector3 temp = transform.position;
temp.x += forwardSpeed * Time.deltaTime;
transform.position = temp;
Wenn ich debuggen kann ich sehen, dass temp.x nicht ändert. Wenn ich das Objekt jedoch aus dem Kamerabereich hinausbewege, beginnt sich das X zu ändern. Wenn dies nicht genug Informationen sind, lass es mich wissen und ich werde mehr Code oder was immer ich zeigen muss. Danke für Ihre Hilfe.
Haben Sie sich die Variablen angesehen, die Sie versucht haben, 'temp.x' mit? Wenn man annimmt, dass das Beispiel vollständig ist, ist die Kopie nicht notwendig: transform.position.x + = forwardSpeed * Time.deltaTime; '<- Beachten Sie, dass dies nur funktioniert, wenn Sie nur das Objekt entlang der x-Achse der Welt verschieben möchten. – George
Wenn ich das tue, bekomme ich diesen Fehler 'Kann einen Werttyp nicht ändern Rückgabewert von 'UnityEngine.Transform.position'. Überlegen Sie, ob Sie den Wert in einer temporären Variablen speichern wollen. Also verwende ich die Temperatur, um den Wert zu ändern. –