J'ai commencé à apprendre la physique du jeu et j'essaie de déplacer une balle avec un angle. Mais ça ne change pas son angle. Le système de coordonnées Java est un peu différent et je pense que mon problème est là. Voici mon code.Java: déplacer la balle avec l'angle?
Ceci est pour le calcul de x et la vitesse de y:
scale_X= Math.sin(angle);
scale_Y=Math.cos(angle);
velosity_X=(speed*scale_X);
velosity_Y=(speed*scale_Y);
Ceci est pour boule mobile en fonction run():
ball.posX =ball.posX+(int)velosity_X;
ball.posY=ball.posY+(int)velosity_Y;
je (int)velosity_X
et (int)velosity_Y
parce que dans ball
classe I tire objet
g.drawOval(posX, posX, width, height);
et ici g.drawOval
requiert int
. Je ne sais pas si c'est un problème ou non. Aussi si j'utilise l'angle 30 ça va + X et + Y mais si j'utilise l'angle 35 ça va -X et -Y. Je n'ai pas compris comment travailler le système de coordonnées en Java. Mathsin() et Math.cos() attendent l'angle en radians
changer 'velosity' pour' velocity' Ça ne marchera pas mais il serait plus facile à lire: P – OscarRyz
@Oscar :) merci pour le conseil – Ercan
Ne pas être pédant (et, à la fin, ce n'était pas lié à votre problème) mais le «système de coordonnées» n'est pas dicté par Java (langage) mais par la bibliothèque graphique particulière que vous utilisez. Dans votre cas, je suppose, java.awt.Graphics (Java 2D API) – leonbloy