AS2将位图附加到动态创建的变量

时间:2013-07-31 03:07:14

标签: dynamic actionscript bitmap

我遇到了这个问题并且根本无法解决问题,对不起,如果已经有另外一篇关于此的帖子,但我也找不到它。

接下来的问题:我正在尝试创建一个能够初始化和更新位图的简单函数,以及一些我还没想到的其他变量。

我在舞台上创建了一些名为slot0,slot1,slot2等的MovieClip ......在另一个名为ButtonRootPannel的MovieClip中,以便能够直观地看到我将放置图像的位置而不必猜测代码中的数字。< / p>

与我设置此代码的那些:

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);
}

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

1 个答案:

答案 0 :(得分: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消失。将它们排除在外,问题就解决了。