2016-09-13 2 views
1

Ich habe ein Objekt, das ständig ansteigt. Ich möchte, dass mein Objekt zuerst mit bestimmter Geschwindigkeit und dann mit einer anderen Geschwindigkeit (z. B. nach 5 Sekunden) hochfährt. Ich verwende einfachObjekt mit unterschiedlicher Geschwindigkeit verschieben

aber es geht nur mit der gleichen Geschwindigkeit die ganze Zeit, die ich nicht will.

+1

Haben Sie eine Lösung für dieses Problem selbst zu codieren versucht? Bitte geben Sie den entsprechenden Code an, der Ihren besten Versuch zeigt. – Serlite

+0

eigentlich habe ich keine Ahnung, wie das geht.Das ist das Beste, was ich tun konnte. @ Serlite – solo365

+0

Haben Sie versucht, einfach die Geschwindigkeit nach 5 Sekunden zu ändern? – sokkyoku

Antwort

1

Sie könnten einfach die Geschwindigkeit nach 5 Sekunden ändern.

Ihre Klasse würde wie folgt aussehen:

public IEnumerator Start() { 
    yield return new WaitForSeconds(5); 
    speed *= 2; 
} 

public void Update() { 
    transform.Translate(Vector3.up * speed * Time.deltaTime, Space.World); 
} 

Es ist wichtig, dass Sie * Time.deltaTime zu Ihrer Übersetzung Berechnung hinzufügen, da sonst wird Ihre tatsächliche Geschwindigkeit zum anderen von einer Maschine unterschiedlich sein.

Wenn Sie jeden Wert zu einem Wert addieren oder subtrahieren, werden Sie wahrscheinlich mit Time.deltaTime multiplizieren. Wenn Sie mit Time.deltaTime multiplizieren, drücken Sie im Wesentlichen aus: Ich möchte dieses Objekt 10 Meter pro Sekunde anstatt 10 Meter pro Frame bewegen.

https://docs.unity3d.com/ScriptReference/Time-deltaTime.html

+0

Vielen Dank @sokkyoku – solo365

Verwandte Themen