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.