2017-02-14 5 views
-1

Ich habe einen Spieler und eine Spur, ich habe die Geschwindigkeit auf den Spieler angewendet, so dass er entweder rechts oder links innerhalb der Straße bewegen kann.Mathf.Clamp für Geschwindigkeit funktioniert nicht

Der Player ist starrer Körper (rb) und ich verwende die Geschwindigkeit, um den Spieler zu bewegen.

Für den Spieler bewegt nur in der Straße nach links, ich habe zu folgenden angewendet:

Vector2 clampPos = new Vector2 (-playerSpeed, 0); 
clampPos.x = Mathf.Clamp (clampPos.x, -maxPoistion, maxPoistion); 
rb.velocity = clampPos; 

Aber der Spieler immer noch außerhalb der Maximalposition bewegt.

Antwort

0

Anstatt die Geschwindigkeit zu klemmen, sollten wir die Position klemmen.

rb.velocity = new Vector2 (playerSpeed, 0); 
Vector2 clampPos = rb.position; 
clampPos.x = Mathf.Clamp (clampPos.x, -maxPoistion,maxPoistion); 
rb.position = clampPos; 
Verwandte Themen