我找到了一个使用 AS3 ( http://designreviver.com/tutorials/create-an-interactive-stack-of-photos/ )在 Flash 中创建一堆照片的教程。
我一直在尝试制作照片堆栈的动态 XML 版本,但我遇到了问题(显然 :)
我有一个名为宝丽来的类,我使用循环将它的多个实例添加到舞台上,如下所示:
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;
}
}
然后我使用两个函数将照片滑出并更改其索引,使其位于所有其他宝丽来实例的后面。
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 似乎工作正常,photoslidein 中的补间正在工作 - 我似乎无法更改已点击的宝丽来实例的子索引。
有人知道我在这里哪里出错了吗?
任何帮助将非常感激。