我有一个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);
}
答案 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。 (因此,使位图可见且不可见非常相似)