2017-05-20 2 views
0

Ich arbeite an einem Projekt in Unity 2D zu Lernzwecken. Es ist ein Spiel von Ping Pong. Ich habe sein Material, so dass es jedes Mal schneller wird, wenn es springt. Das einzige Problem mit seinem Material ist, dass seine Geschwindigkeit außer Kontrolle gerät und aussetzt. Ich möchte herausfinden, wie ich damit aufhören kann.Wie man die Geschwindigkeit konstant hält, wenn das Objekt mit Höchstgeschwindigkeit läuft

Zum Beispiel möchte ich wissen, wie man den Ball mit konstanter Geschwindigkeit hält, wenn er die Höchstgeschwindigkeit erreicht, beispielsweise 15f. Es ist ein Rigidbody2d Collider Ball.

Antwort

2

Wie vorgeschlagen in diesen post, können Sie die Geschwindigkeit der Ihre Starrkörper kontrollieren konnten die Vector2.ClampMagnitude Methode verwendet, während es in Ihrem OnFixedUpdate() Tracking. Ich stelle den Code in dem Beitrag zur Verfügung, den ich für Ihre Bequemlichkeit zitiere. Ich habe das Code, den ich aus dem zitierten Beitrag lieferte die jüngsten Änderungen in der API entsprechen:

float maxVelocity = 10; 
void FixedUpdate() 
{ 
rigidbody2D.velocity = Vector2.ClampMagnitude(rigidbody2D.velocity, 
    maxVelocity); 
} 
+0

Es tut mir leid, aber dieser Code ist veraltet, und selbst wenn ich es aktualisiert, es gab mir drei Unity Fehler , wie zum Beispiel: CS1502 Fehler: Die beste überladene Methode Match für UnityEngine.Vector2.ClampMagnitude (UnityEngine.Vector2, float) hat einige ungültige Argumente Fehler CS1503: Argument # 1 kann nicht float Ausdruck umwandeln zu geben 'UnityEngine.Vector2' Fehler CS0131: Die linke Seite einer Zuweisung muss eine Variable, eine Eigenschaft oder ein Indexer sein. –

+0

Dieser Code wurde so geändert, dass er den letzten Änderungen in der API entspricht. Probieren Sie es aus und lassen Sie es mich wissen. – Majed

+0

Ich ersetzte den alten Code durch den neuen Code und bekam 2 davon: Fehler CS1061: Type 'UnityEngine.Component' enthält keine Definition für 'velocity' und keine Erweiterungsmethode 'velocity' vom Typ 'UnityEngine.Component' könnte sein gefunden. Vermissen Sie eine Baugruppenreferenz ?; Kannst du irgendwelche Ideen haben, was los ist? Entschuldige, dass ich dich belästige. –

Verwandte Themen