C'est plus ou moins la solution qui a été mise en place pour résoudre ce problème, mais à ça je vois deux choses :
- En quoi la déclaration d'une fonction en plein bout de code te semble-t'il gênant ? (est-ce une question de conviction personnelle ? Ou une vrai raison technique ?) - Si l'as3 implémente les closures, pourquoi utiliser des mécanismes détournés pour avoir la fonctionnalité attendue ? (en l'occurence le setTimeout) On Aug 3, 3:25 pm, _ceone <[email protected]> wrote: > ce qui se passe c'est que ton order n'est pas dans le scope de ta > fonction aussi c'est la valeur de la derniere iteration qui doit être > prise en compte. Il faut donc que tu "stockes" cette valeur quelque > part > à ta place (et si je pouvais vraiment pas faire autrement) > j'utiliserais plutot un setInterval auquel je passerais des > paramètres ... > et par pitié sors au moins la déclaration de ta fonction hors de la > boucle for !!! :) > > un truc genre : > > public function displayCardsFromDrawing() > { > var timeTimer:int; > var timerInterpretationInt:uint > for(var order:int=1; order<=nbMaxCard; order++) > { > timeTimer = order * 1000; > timerInterpretationInt = setTimeout( > _displayCardsFromDrawings, > timeTimer, order ); > } > > } > > private function _displayCardsFromDrawings( order:int ):void > { > var interpretationTweenAlpha = new Tween (interpretedCard, > "alpha",Regular.easeInOut, 0, 1, 1, true); > var interpretedCard:PaperSprite = new PaperSprite; > var interpretedCardNumber:int = pickedCards[order]; > var imageInterpretedCard:String = cards > [interpretedCardNumber].id_tarot_card + ".png"; > var pathInterpretedFinal:String = pathCard + idSet + "/" + > imageInterpretedCard; > withdrawFrontCard(pathInterpretedFinal, interpretedCard); > addChild( interpretedCard ); > interpretedCard.scaleX = 0.6; > interpretedCard.scaleY = 0.8; > interpretedCard.x = 77 + (order - 1) * (100); > interpretedCard.y = 100; > > } > > peace... --~--~---------~--~----~------------~-------~--~----~ Vous avez reçu ce message, car vous êtes abonné au groupe Groupe "FCNG" de Google Groupes. Pour transmettre des messages à ce groupe, envoyez un e-mail à l'adresse [email protected] Pour résilier votre abonnement à ce groupe, envoyez un e-mail à l'adresse [email protected] Pour afficher d'autres options, visitez ce groupe à l'adresse http://groups.google.com/group/FCNG?hl=fr -~----------~----~----~----~------~----~------~--~---
