Quote (TaGueule @ Mar 26 2014 10:27pm)
Ouais ouais, à priori le player.body.touching.down n'est pas rempli puisque le player est censé être en lévitation pour entamer son second jump.
Et le jumpCount se fait incrémenter avant même d’appeler la fonction du premier saut, donc il devrait s'avérer faux aussi ...
Je double post vite fait mais :
- Tu remarques toi même que tu rentres dans le premier if, mais pas dans le 2ème, donc ton
player.body.touching.down est forcément rempli (en plus le jump vaut 1, je vois pas où il pourrait s'incrémenter ailleurs). Par contre, pour le double saut, tu ne test pas si ton joueur est bien en l'air, ce qui devrait normalement être le cas.
Il faut bien que tu comprennes que la condition que tu met dans le premier if ne s'applique pas aux tests suivants, c'est vraiment des blocs différents (c'est ce que stef à voulu dire et j'avais pas capté)
ce qui veut dire que :
SI mes premières conditions sont valides -> je fais quelque chose et je SORS de la fonction.
SI mes premières conditions ne sont pas valides -> je regarde mes else if -> SI leurs conditions sont valides -> je fais quelque chose et je SORS de la fonction.Ce que je ferais à ta place si ça peut t'aider :
- Tracer la position du joueur (est ce qu'il est down ou "up" (je suppose)). Tu le fais en traçant la position y, mais est ce que tu modifies bien l'état du joueur en conséquence de ce y ?
- Essayer en rajoutant le test au else if -> est ce que le joueur est bien dans les airs ? Et si ça merde avec le point du dessus c'est que le bug est pas là où tu le croyais
OU BIEN
- Essayer en enlevant la 2eme condition du if et en mettant juste un else à la place du else if.
e/ Du coup si la fonction est bien sensée être appelée à chaque fois que tu appuies sur "up", ton code est correct pour moi, à part que tu n'as pas testé pas mal de choses je pense (dont une partie que je t'ai dite au dessus). Sinon c'est que ton problème viens sûrement de la gestion des touches du claviers.
This post was edited by Bremen on Mar 26 2014 03:20pm