AS3 setChildIndex

时间:2013-05-19 00:44:21

标签: actionscript-3

我正在制作一本具有页面翻转效果的书(我直到现在才翻到右页),而且我的索引存在问题,因为我翻页的页面不会停留在其他

我尝试编写setChildIndex(cont,this.numChildren -1),但它无效!

import fl.transitions.Tween;

import fl.transitions.easing.*;

import fl.transitions.TweenEvent;

import flash.display.Sprite;

var cont : DisplayObject;

var imgLoader : Loader;


for (var i:int=0; i<=4; i++){

imgLoader  = new Loader();

imgLoader.contentLoaderInfo.addEventListener(Event.INIT, onLoadJPEG); 

imgLoader.load(new URLRequest(""+i+".png"));
}

function onLoadJPEG (e : Event) : void {

    cont = e.target.loader; 

    cont.x =300;

    cont.y =65;

    cont.width = 286/2;

    cont.height = 406/2;

    addChild(cont);

    cont.addEventListener(MouseEvent.MOUSE_UP, FlipPage);

    }

function FlipPage(e:MouseEvent):void{

    setChildIndex(cont, this.numChildren -1);

    var myTween:Tween = new Tween(e.currentTarget, "rotationY", Regular.easeInOut,0, 180, 1, true);
}

3 个答案:

答案 0 :(得分:1)

您需要将子索引设置为e.currentTarget,而不是cont

setChildIndex(DisplayObject(e.currentTarget), this.numChildren - 1);

答案 1 :(得分:0)

另请尝试setChildIndex(currentObject, getChildIndex(myObject)-1)

答案 2 :(得分:0)

精灵顺序当然是错的。将东西放在最上面的最简单的方法是addChild,你想拥有一个顶部。

addChild(a); //indexorder a
addChild(b); //indexorder ba
addChild(c); //indexorder cba
addChild(a); //indexorder acb