Le plus simple c'est peut être de faire une fonction qui déplace le sprite vers le haut, et d'avoir une routine style gravité qui le fasse retomber en permanence selon une acceleration parabollique (oui bon c'est pas clair). Ta fonction de saut donne une certaine impulsion (genre tu la passe en parametre), et tant que cette impulsion est positive le sprite monte. D'un autre coté la fonction qui simule la gravité fait baisser cette impulsion. Quand cette impulsion atteint 0, le sprite arrete de monter, et commence a redescendre, en accelerant de plus en plus (attention y'a une limite tout de meme)
En y reflechissant, cette fonction de saut peut aussi servir a déplacer le sprite a droite et a gauche (suivant un autre parametre), ce qui pourrait induire une sorte d'inertie a mesure que les forces de frottement s'appliquent.
Mais je me demande si c'est pas un peu compliqué finalement :/
*** And now for something completely different ***
poshu Le 28/01/2003 à 12:11 euh.. mais moi, kand je joue a un jeu j'aime pas penser a la physique........
sur le jeu en java que j'avais commencé il y a un certain temps (et jamais terminé), j'avais utilisé la technique de pedro.
en pratique, tu as une variable h pour la hauteur à laquelle se trouve le perso, une variable m pour son mouvement vertical et une constante g pour la gravité.
a chaque boucle, tu fais "h = h + m;" et "m = m - g;", , puis tu verifie si le perso est plus bas que le sol ou un autre objet sur lequel il peut marcher, et si c'est le cas tu le remets à la hauteur de l'objet, et tu remet m à 0.
lors d'un appui sur la touche de saut, tu te contentes de donner une valeur positive à m.
le system est a base de contrainte que tu applique au sprite !
pour le saut bas tu fais deja l'animation du perso , ensuite tu fait une liaison entre l'animation et la commande B par exemple !
maintenant dans ton programme tu dis que lorsque B est appuyer le perso se situe a la valeur 1 sur l'axe y dans le repere (tu sait axe x horizontale , axe y vertisale ou axe z ca depend des logiciel ou de toi!) , donc il se trouve a la valeur 1 sur l'axe y lorsque B est appuyer ! ensuite pour le troue ba tu lui donne une valeur ou une lettre et tu dis que lorsque le sprite et a sur "ta lettre ou chiffre" et bien il tombe et disparait de l'ecran (tu fait une petite animation pour la chute ) !
voila un peu la mecanique ! cest la meme pour les collision il faut que tu creer des contrainte ou des intervalle ou le sprite ne peu etre !
enfin voila j'espere que ca va t'aider ! je ne connait pas le logiciel ou le codage que tu utilise donc je peu pas de donner de commande precise ! mais quand je fait une demo de jeux ca marche comme ca (sauf que moi cest avec virtools et cest une histoire de distance , jeux 3d!)
bon courage !
je n'est q'un seul maitre , moi!
ou utilise MAPPY voir tuto de jycet
mais apres il faudra toujours faire un bout de code, pour les collisions tu as 2 solutions soit en fesant par zones, soit en fesant par les couleurs.