2011-08-02 2 views
1

Je souhaite ajouter un composant dans un Viewstack dynamiquement dans flex4. Comme le code ci-dessousComment lier l'effet dans le code dans Flex

for(var i:int = 0; i < 3; i++) 
{ 
    var canvas:NavigatorContent = new NavigatorContent(); 
    canvas.label = "XXX"; 
    // here I want to add effect to canvas. 
    // var effect:Fade = new Fade(canvas); 
    // effect.duration = 2000; 
    viewStack.addChild(canvas); 
} 

Mais le code dans le commentaire ne joue pas l'effet. Comment puis-je l'implémenter? Est-ce que la toile a une hideffect ou showEffect à Liez?

grâce

Répondre

2

Vous pouvez utiliser hideEffect et showEffect les propriétés du NavigatorContent.

FlexExamples has a good example sur comment définir ces propriétés à l'aide d'Actionscript.

+3

détail mineur: il n'utilise pas de Canvas, mais un spark.components.NavigatorContent, qu'il a appelé 'canvas'. Néanmoins, le code AS3 que vous avez fourni fonctionne de la même manière car ils héritent tous les deux de UIComponent. – merv

+0

@merv Ha, bonne prise! Je vais mettre à jour ma réponse. –

1

Eh bien, je pense que le problème est qu'il crée l'objet d'effet à l'intérieur de la fonction. Dès que cette fonction est laissée, je pense qu'il n'y a aucune référence de l'objet de canevas à l'objet d'effet et le GarbageCollection le nettoie. Essayez d'enregistrer explicitement une référence à l'objet effet.

Questions connexes