堆栈的照片AS 3 - 卡在简单的东西上

时间:2009-11-07 11:31:41

标签: actionscript-3 stack photo depth

我找到了一个使用AS3(http://designreviver.com/tutorials/create-an-interactive-stack-of-photos/)在flash中创建一堆照片的教程。

我一直在努力制作照片堆栈的动态XML版本,我遇到了问题(显然:):

我有一个名为Polaroid的类,我使用循环将它的多个实例添加到舞台上,如下所示:

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中的补间工作正常 - 我似乎无法更改已点击的宝丽来实例的子索引。

任何人都知道我在哪里出错?

非常感谢任何帮助。

1 个答案:

答案 0 :(得分:0)

尝试使用currentTarget而不是target。