2017-05-20 8 views
0

Je travaille sur un projet dans Unity 2D à des fins d'apprentissage. C'est un jeu de Ping Pong. J'ai son matériel donc il voyage plus vite chaque fois qu'il rebondit. Le seul problème avec son matériel est que sa vitesse devient incontrôlable et glisse. Je veux trouver un moyen de l'arrêter. Par exemple, je voudrais savoir comment garder la balle à une vitesse constante quand elle atteint la vitesse de pointe, par exemple, 15f. C'est une boule de collisionneur Rigidbody2d.Comment maintenir la vitesse constante lorsque l'objet se déplace à la vitesse de pointe

Répondre

2

Comme suggéré dans ce post, vous pouvez contrôler la vitesse de votre en utilisant la méthode modèle du solide indéformable Vector2.ClampMagnitude tout en suivant dans votre OnFixedUpdate(). Je fournis le code dans le message que je cite pour votre commodité. J'ai modifié le code que j'ai fourni du poste cité pour répondre aux changements récents dans l'API:

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

Je suis désolé, mais ce code est obsolète, et même quand je mis à jour, il m'a donné trois erreurs Unity , tels que: erreur CS1502: Le match de la meilleure méthode surchargée pour UnityEngine.Vector2.ClampMagnitude (UnityEngine.Vector2, flotteur) a quelques arguments non valides erreur CS1503: argument # 1 ne peut pas convertir l'expression de flotteur de type 'UnityEngine.Vector2' Erreur CS0131: La partie gauche d'une affectation doit être une variable, une propriété ou un indexeur. –

+0

Modification du code ci-dessus pour correspondre aux modifications récentes de l'API. Essayez-le et faites le moi savoir. – Majed

+0

J'ai remplacé l'ancien code par le nouveau code et j'en ai obtenu 2: erreur CS1061: le type 'UnityEngine.Component 'ne contient pas de définition de' velocity' et aucune méthode d'extension 'velocity 'du type' UnityEngine.Component' a trouvé. Vous manquez une référence d'assembly ?; Peux-tu avoir des idées quoi de neuf? Désolé de continuer à vous déranger. –