smasluigi
Messages postés4Date d'inscriptionmercredi 1 avril 2009StatutMembreDernière intervention23 septembre 2009
-
23 sept. 2009 à 11:46
Bul3
Messages postés4933Date d'inscriptionsamedi 1 juillet 2006StatutMembreDernière intervention 2 février 2015
-
23 sept. 2009 à 12:33
Bonjour à tous,
Je suis débutant en javascript.
J'ai un souci avec la syntaxe de mon switch.
En fait dans mon code je veux lancer une animation,attendre n secondes,lancer une autre animation,etc ...
J'ai une version de ce code qui fonctionne
function playAnimation(etape)
{
switch(etape)
{
case 1:
TNTDoCommand('Objects(obj1).PlayAnimation(0,25)');
setTimeout("playAnimation(2)",1000);
break;
case 2:
TNTDoCommand('Objects(obj2).PlayAnimation(0,25)');
setTimeout("playAnimation(3)",1000);
break;
case 3:
TNTDoCommand('Objects(obj3).PlayAnimation(0,25)');
setTimeout("playAnimation(4)",1000);
break;
case 4:
TNTDoCommand('Objects(obj4).PlayAnimation(0,25)');
setTimeout("playAnimation(5)",1000);
break;
case 5:
TNTDoCommand('Objects(obj5).PlayAnimation(0,25)');
setTimeout("playAnimation(6)",1000);
break;
case 6:
TNTDoCommand('Objects(obj6).PlayAnimation(0,25)');
setTimeout("playAnimation(7)",1000);
break;
case 7:
TNTDoCommand('Objects(obj7).PlayAnimation(0,25)');
setTimeout("playAnimation(8)",1000);
break;
case 8:
TNTDoCommand('Objects(obj8).PlayAnimation(0,25)');
setTimeout("playAnimation(9)",1000);
break;
case 9:
TNTDoCommand('Objects(obj9).PlayAnimation(0,25)');
setTimeout("playAnimation(10)",1000);
break;
case 10:
TNTDoCommand('Objects(obj10).PlayAnimation(0,25)');
break;
}
/*element('PlayButton').value = "Play Backward";*/
}
Seulement j'ai essayer d'automatiser les choses en faisant une boucle for.Mais la ça ne fonctionne plus.
Bul3
Messages postés4933Date d'inscriptionsamedi 1 juillet 2006StatutMembreDernière intervention 2 février 201516 23 sept. 2009 à 12:08
>>ça marche pas
ah !!!! ça aide pour répondre ça !!!!!
et ???? qu'est-ce qui ne marche pas ????
vous avez un message d'erreur ? vous avez debuggé ?
>>j'ai plus mon "case".
ben oui ! puisqu'il devient inutile !
je pensais même que c'était le but recherché ???
et : si, mon exemple doit fonctionner, sauf si
vous aviez des erreurs dans votre script
originel, qu'on ne peut pas tester, puisque
nous n'avons pas toutes les fonctions nécessaires !
mais peut-être n'avez vous pas appliqué "tel quel",
ni probablement lu ce que je disais ? je répète :
[i]attention setTimeout ça veut bien dire :
lancer la fonction dans le délai donné et
continuer immédiatement à l'instruction suivante
/i
Vous n’avez pas trouvé la réponse que vous recherchez ?
smasluigi
Messages postés4Date d'inscriptionmercredi 1 avril 2009StatutMembreDernière intervention23 septembre 2009 23 sept. 2009 à 12:17
ok merci pour tes réponses.En fait a priori quand je lance un switch il lui faut un "case" juste derrière sinon il ne comprend pas.Du coup cela donne quelque chose dans ce gout la :
Je t'ai rajouter la fonction qui fait appelle à playAnimation().
Et donc la je n'ai plus d'erreur,seulement mes anim se lance toutes en même temps.
Désolé si je ne poste pas tout comme il faut,c'est ma première fois :)
Bul3
Messages postés4933Date d'inscriptionsamedi 1 juillet 2006StatutMembreDernière intervention 2 février 201516 23 sept. 2009 à 12:33
votre switch/case est inutile... non ?
>>les anim se lance toutes en même temps
pas "tout à fait", mais quasi oui.
je répète en redisant autrement :
setTimeout lance la fonction dans le délai donné et
continue, donc relance la fonction, puis continue...
et ainsi de suite...
il faut faire les choses autrement.
par exemple :
lancer l'animation
qui se relancera elle même avec setTimeout
et ce tant qu'on est pas au bout des animations.