Bonjour,
Actuellement je code une fonction de pathfinding pour mon jeu. La fonction marche bien comme il le faut et me retourne un tableau contenant les positions [x,y]. Jusque la rien de bien méchant. Le problème vient du mouvement du personnage. J'utilise une boucle for pour lire les positions du tableau et pour chaque coordonnées je bouge mon personnage avec le fonction animate de jquery et je change sa valeur z-index avec la fonction css. Le problème est la. La boucle for n'attend pas que les deux fonctions soient terminées. J'ai trouvé un astuce pour la fonction animate ({queue:true}) mais pas pour css. Regardez une portion de mon code et la démo pour mieux voir le problème.
Amicalement
Actuellement je code une fonction de pathfinding pour mon jeu. La fonction marche bien comme il le faut et me retourne un tableau contenant les positions [x,y]. Jusque la rien de bien méchant. Le problème vient du mouvement du personnage. J'utilise une boucle for pour lire les positions du tableau et pour chaque coordonnées je bouge mon personnage avec le fonction animate de jquery et je change sa valeur z-index avec la fonction css. Le problème est la. La boucle for n'attend pas que les deux fonctions soient terminées. J'ai trouvé un astuce pour la fonction animate ({queue:true}) mais pas pour css. Regardez une portion de mon code et la démo pour mieux voir le problème.
Code :
var way = AStar(map,[char_x,char_y],[x,y],'Manhattan');
for(var x, y, i = 1, j = way.length; i < j; i++) {
x = way[i][0];
y = way[i][1];
var zindex = map_width + x + y + 50;
var left = (x-y)*option.tuileleft + (map_height-1)*option.tuileleft + 7 + option.mapOffsetLeft;
var top = (x+y)*option.tuiletop - map[y][x]['1']*option.tuilelevel - 18 + option.mapOffsetTop;
$('#player').css(
"zIndex",zindex
).animate({
top: top,
left: left
}, 200, {queue:true});
}
Amicalement