J'ai un vecteur de vitesse qui est V (233, 188).Aide pour les vecteurs de vitesse
Un objet se déplace vers le côté inférieur droit de l'écran en 300 pixels par seconde lorsque l'origine est V (0, 0). Lorsque la position de l'objet est, par exemple, (592, 334), je règle le vecteur de vitesse sur V (294, 55) mais l'objet ne commence pas à se déplacer dans cette direction ... Il ne cesse de déplacer le vecteur de vitesse vers V (294, 552) même direction, mais il semble que cela fait une petite courbe de 10 degrés ...
ce que je fais est:
objectLocation += velocity * elapsedTime;
Qu'est-ce que je fais mal?
Vérifiez que l'emplacement de l'objet a changé (et que, par exemple, 'velocity * elapsedTime' n'est pas insignifiant). En outre, vous devrez peut-être faire quelque chose pour forcer une re-peinture de l'objet après que son emplacement change. – ChrisW
non non, ce qui se passe est que l'emplacement où l'objet commence à se déplacer n'est pas celui que j'ai défini, par exemple, en utilisant les valeurs fournies, il semble que les objets font une petite courbe de 10 degrés vers la droite ... ajouter cette info, désolé ... – Paulo
Dans ce cas, c'est peut-être une "erreur d'arrondi" causée par l'utilisation d'entiers au lieu de virgule flottante ... savez-vous ce que je veux dire? Vous avez trois choses, c'est-à-dire 'objectLocation', 'velocity', et 'elapsedTime' ... sont-ce tous les entiers, ou virgule flottante, ou quoi? Et quel langage de programmation utilisez-vous? – ChrisW