maxime64 -> quoi?
Enfait, ce que tu veux faire, c´est simuler la gravité, c´est ça ? L´idée la plus simple, c´est de travailler avec des vecteurs (je suppose que tu as vu ça à l´école?). je vais prendre l´exemple d´un jeux 2D, comme mario. Ou même plus simple, en 1D : imagine un jeu où tu as mario sur une plateforme. En appuyant sur un bouton, mario saute (déplacement uniquement vertical) et redescend. Réfléchissons un peu : la force de gravité l´attire en permanence vers le sol, qu´il saute ou non. Ensuite, pour toute force existe une force de réaction, de sens opposé à la force originale. Dans notre cas, nous aurons donc deux forces en présence :
-la force de gravité (Fp), agissant de haut en bas.
-la force de réaction à la force de pesanteur (Frp), agissant dans le sens opposé, et dont l´intensité est égale à la force de pesanteur.
Dans notre cas, l´intensité de la force de pesanteur est de 9.8 Newton - on pourrait l´arrondir à 10, ce serait plus simple. Nous dirons qu´a chaque frame, mario est déplacé de 10 pixels dans la direction de la force de pesanteur, soit vers le bas. Bien. Maintenant, nous avons la force Frp, qui, elle, agit dans le sens inverse, avec une intensité égale, soit aussi 10 Newton. Mario va donc se déplacer de 10 pixels contre le bas (Fp) et de 10 contre le haut (Frp), il reste donc imobile : c´est le cas de stabilité du système. Si tu veux qu´il saute uand tu appuie sur RETURN, par exemple, tu n´as qu´à faire qu´en cas d´appui sur RETURN, une autre force verticale de direction verticale et de sens de bas en haut soit incrémentée d´un certain nombre de Newton. Tu ajoutera cette valeur à la variable de position verticale (par exemple posY). Voila en gros ce qu´il te faut :
-une variable de position Y du perso.
-une variable Fp
-une variable Frp
-une variable Fverticale
Ensuite, à chaque frame, tu fais :
PosY = PosY - Fp + Frp + Fverticale
et tu affiches ton objet au bon endroit.
J´espère que tu as au moins compris l´essentiel, car j´ai fais ça de tête et j´ai peut-être oublié quelques trucs. Penses aussi au fait qu´il n´y a plus de force de réaction quand le perso ne touche plus le sol.
Allez, courage !
Lapintade, JeanYvesYves... Je vouis laisse éclaircir mes explications douteuses.