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
-~----------~----~----~----~------~----~------~--~---

Répondre à