Bonjour à tous
Bon voilà j´ai un petit problème pour faire sauter mon personnage en avant. C´est pour un jeu de plateforme 2D ( à la Flashback/Oddworld) réalisé avec Director.
Alors le problème c´est que le personnage n´avance pas dans l´espace au moment où il saute, mais dans son animation, ce qui me pose quelques problèmes.
Je m´explique : quand il marche c´est simple il avance disons de 5 pixels par secondes, et je double ce nombre quand il court mais. Par contre; s´il saute en avant, physiquement le perso n´avance pas réelement mais on le voit quand même avancer dans l´animation du saut, le perso avance, mais pas le sprite.
--> Voilà l´animation, vous comprendrai mieux ce que je veux dire : http://culturelibre.webheberg.com/silence/web/saut_avant.mpg
Donc, détecter une collision avec un mur n´est pas possible pendant le saut contrairement à quand il marche où s´il rencontre un mur, je le stoppe simplement. Un autre problème est la détection du sol, il faut savoir s´il doit tomber dans le vide ou toucher le sol, évidemment pas pratique avec un sprite qui ne bouge pas, donc impossible de situer le perso dans le plan au moment où il saute.
Pour le sol j´ai fait comme ça : je coupe l´animation du saut en deux ´clips´ différents ( première partie : saut jusqu´à ce qu´il mette le premier pied au sol, deuxième partie : il attérit et se relève).
Il effectue la première partie, une fois terminé il redevient à la position normale ( debout) pour voir où il se situe dans le plan ( l´endroit où il attérit) et tester s´il touche le sol ou pas ( avant affichage, ça ne se voir pas). S´il touche le sol, il continue avec la deuxième partie, sinon il tombe.
Pour le mur j´ai fait plus simple : trop près, il saute même pas, comme ça, pas de problème de collision au milieu de saut.
Alors maintenant je me rend compte que ça me crée un autre problème que je n´arrive pas à résoudre : au changement de plan, s´il y a un mur de l´autre coté, et qu´il saute . .. bref on s´en fous : au lieu de trouver une solution encore aussi conne que l´autre je me suis dis plutôt de le faire sauter " réelement" mais là je ne vois pas comment faire.
Il faudrait d´abord que sur l´anim il reste sur place, bon faisable, mais après comment faire pour gérer le temps ? au début du saut il met un certain temps à démarre puis à attérir, etc, c´est ça qui donne bien, au début j´avais essayé de le faire vraiment sauter ( saut constant en fait) mais le résultat était horrible, c´est pour ça que je l´ai fait sauter en longueur.
Alors comment on fait normalement pour ce genre de truc ? 
Quand je regarde Flashblack, Oddworld ou Bermuda Syndrome, c´est ultra précis, comment ils font ?
Merci d´avance 