0

我被这个问题困住了,根本无法解决,对不起,如果已经有另一篇关于这个的帖子,但我也找不到。

那么问题来了:我正在尝试制作一个能够初始化和更新位图的简单函数,以及一些我还没有想到的其他变量,如果需要的话。

我在舞台上创建了一些名为 slot0、slot1、slot2 等的 MovieClips……在另一个名为 ButtonRootPannel 的 MovieClip 中,以便直观地了解我将放置图像的位置,而无需猜测代码中的数字。

与我一起设置此代码:

var buttons_rootArray:Array = new Array;

for(var i=0;i<=11;i++){
    this["slot"+i] = this.ButtonRootPannel.createEmptyMovieClip("slot"+i, i);
    this["slot"+i].customState = "Inactive";    //Active, Inactive or Unavaiable
    this["slot"+i]._x = eval("_root.ButtonRootPannel.slot"+i)._x;
    this["slot"+i]._y = eval("_root.ButtonRootPannel.slot"+i)._y;
    this["slot"+i]._width = eval("_root.ButtonRootPannel.slot"+i)._width;
    this["slot"+i]._height = eval("_root.ButtonRootPannel.slot"+i)._height;
    buttons_rootArray.push(this["slot"+i]);
}

UpdateButtonsSlot(0,"BuildButton");
UpdateButtonsSlot(1,"CancelButton");

function UpdateButtonsSlot(slot:Number, newImage:String):Void{
    var tempData:BitmapData = BitmapData.loadBitmap(newImage);
    var tempClip:MovieClip = eval(buttons_rootArray[slot]);
    //buttons_rootArray[slot].unloadMovie();
    //buttons_rootArray[slot].clear();
    tempClip.attachBitmap(tempData,this.getNextHighestDepth(),"auto",true);
}

任何人都知道我可能做错了什么?提前致谢。

4

1 回答 1

0

好吧,问题解决了,现在这似乎是出于某种奇怪的原因:

for(var i=0;i<=11;i++){
    var currentMC = eval("_root.ButtonRootPannel.slot"+i);
    this["slot"+i] = this.ButtonRootPannel.createEmptyMovieClip("slot"+i, i);
    this["slot"+i].customState = "Inactive";    //Active, Inactive or Unavaiable
    this["slot"+i]._x = currentMC._x;
    this["slot"+i]._y = currentMC._y;
    //this["slot"+i]._width = currentMC._width;
    //this["slot"+i]._height = currentMC._height;
    buttons_rootArray.push(this["slot"+i]);
}

如果我取消注释,只有那些注释的行会使 MovieClip 消失。然后将它们排除在外,问题就解决了。

于 2013-07-31T17:13:35.630 回答