2009-11-07 15 views
0

J'ai trouvé un tutoriel sur la création d'une pile de photos en flash en utilisant AS3 (http://designreviver.com/tutorials/create-an-interactive-stack-of-photos/).Pile de photos AS3 - collé sur quelque chose de simple

J'ai essayé de faire une version XML dynamique de la pile de photos et moi avons un problème (évidemment :)

J'ai une classe appelée Polaroid, et im en utilisant une boucle pour ajouter plusieurs instances de celui-ci sur la scène comme suit:

function processXML(e:Event):void { 
    var myXML:XML=new XML(e.target.data); 

    my_images=myXML.IMAGE; 
    my_total=my_images.length(); 
    photoCount=my_total; 

    for (var i:Number = 1; i <= my_total; i++) { 
     imageNo=i; 
     this.addChild(new polaroid ).name="photo"+imageNo; 
     this.getChildByName("photo"+imageNo).addEventListener(MouseEvent.MOUSE_DOWN, photoSlideOut); 
     this.getChildByName("photo"+imageNo).rotation = Math.floor(Math.random()*(rotationRange*2))-rotationRange; 
    } 
} 

je puis utiliser deux fonctions pour faire glisser la photo sur et changer son index pour qu'il passe derrière tous les autres cas de Polaroid.

function photoSlideOut(e:Event):void { 
    e.target.parent.setChildIndex(e.target, e.target.parent.numChildren - 1); 
    Tweener.addTween(e.target, {x: photoDestX, time: speed, transition: easeType, onComplete:photoSlideIn, onCompleteParams:[e.target]}); 
    Tweener.addTween(e.target, {rotation: Math.floor(Math.random()*(rotationRange*2))-rotationRange, time: speed*2, transition: easeType}); 
} 
function photoSlideIn(p:MovieClip):void { 
    p.parent.setChildIndex(p, 0); 
    Tweener.addTween(p, {x: photoOriginX, time: speed, transition: easeType}); 
} 

photoSlideOut semble fonctionner très bien et l'interpolation en photoslidein travaille - je ne peux pas semble changer l'indice des enfants de l'instance de Polaroid qui a été cliqué bien.

Quelqu'un at-il une idée de l'endroit où je me trompe?

Toute aide serait grandement appréciée. Essayez currentTarget au lieu de la cible.

Répondre

0