Pour faire une chute qui devient de plus en plus rapide au fil du temps quand mon perso ne touche pas une plateforme, j’utilise une variable qui est modifiée avec le temps en utilisant l’expression -600*TimeDelta(). Donc, mon perso va de plus en plus vite, mais quand il arrive à une certaine distance de la plateforme, il s’arrête mais continue de se comporter comme s’il était dans les airs (impossibilté de sauter, etc.) À noter que la collision marche correctement si la variable est supérieure ou égale à 0 et que j’utilise le vieil exemple de plateforme (celui avec un pois) comme base pour mon moteur physique.
Met une copie d’écran des évènements car là c’est pas facile de se représenter d’où pourrait venir le problème
Personnellement, je le gèrerai de la manière suivante :
- quand mon personnage saute, j’enclenche un chrono
- quand mon personnage touche une plateforme, le chrono est remis à zéro et sa vitesse sur y est remise à zéro (si besoin)
- si le chrono dépasse un certain temps (on va dire 7 secondes), j’incrémente sa vitesse sur y de 1
Dans tes évènements, il y en a beaucoup en double. Ca rend ton code difficile à lire, et encore plus à prévoir.
Les évènements 10.0 et 13 ont les mêmes conditions par exemple.
Cela indique qu’ils devraient être fusionné en un (avec plein de sous-évènements, bien sûr).
Étonnamment, lorsque je fusionne plusieurs événement qui ont exactement les mêmes conditions, cela à un impact sur les physique du jeu.