将位图添加到as3中movieClip中的各种帧

时间:2012-08-27 16:29:55

标签: actionscript-3

我有一个movieClip,我想要附加到这个movieClip位图。我想将每个位图附加到movieClip的不同帧。我尝试过类似的东西,但它没有用。这是我正在创造的记忆游戏。

for(var i : int = 0; i < cardList.length; i++){
    var helpVar : int = cardList[i].pictureOfCard;
    cardList[i].gotoAndStop(cardList[i].pictureOfCard+2);
    var bitmap : Bitmap = new Bitmap(bitMapArray[helpVar].bitmapData.clone());
    cardList[i].addChild(bitmap);
    cardList[i].gotoAndStop(1);
}

3 个答案:

答案 0 :(得分:1)

var i :int = 0;
processNext();

function processNext():void
{
   cardList[i].addEventListener(Event.FRAME_CONSTRUCTED, onFrameConstructed );
   cardList[i].gotoAndStop(cardList[i].pictureOfCard+2);
}


function onFrameConstructed( e:Event ):void
{
    cardList[i].removeEventListener(Event.FRAME_CONSTRUCTED, onFrameConstructed );
    var helpVar : int = cardList[i].pictureOfCard;        
    var bitmap : Bitmap = new Bitmap(bitMapArray[helpVar].bitmapData.clone());
    cardList[i].addChild(bitmap); 

    if( i < cardList.length - 1 )
    {
       i++;
       processNext();
    {
    else
       trace("All done");

}

答案 1 :(得分:1)

你可以简单地加载所有位图,只显示一个,现在应该可见。例如

function ShowFrame(nr:int):void{
   for(i:int = 0; i<bitMapArray.length; i++){
      bitMapArray[i].visible = false;
   }
   bitMapArray[nr].visible = true
}

我的AS3技能很生疏,所以这可能需要一些语法修正,但它在理论上有效。

答案 2 :(得分:1)

经过一段时间后,我发现我想要实现的目标可能不会在as3中实现。我解决我的问题的方式是每次我gotoAndStop到帧我需要有位图我addChild(位图)和每次我gotoAndStop其他帧不应该位图我removeClild(位图)从movieClip。 (因此,使位图可见且不可见非常相似)