我正在尝试使用 AS3 构建一个小型 Flash 游戏,在其中我将小怪添加到舞台上,将它们存储在一个数组中,以便在它们被杀死后删除。但是我不断收到以下错误:TypeError: Error #2007: Parameter child must be non-null。
这是我目前的代码:
myMobsBuilder();
var mobsArray:Array = new Array();
function myMobsBuilder():void{
for(var i:Number=0; i<3; i++){
this["myMob"+i+":MovieClip"] = new mob();
lvlHolder.addChild(this["myMob"+i]);
myMob.x = 200;
myMob.y = 200;
mobsArray[i] = myMobs;
}
}
请注意,我正在尝试为每个新的暴民实例动态创建一个变量名。将所述暴徒的影片剪辑添加到舞台上另一个名为:lvlHolder 的影片剪辑中,并将其定位。然后将所述影片剪辑添加到数组中。这样一来,一旦暴徒被杀死,我就可以从阵列和舞台上删除它们。当然,除非有更好的方法来做到这一点。我已经广泛研究了以下内容:动态创建变量名称,从数组中添加和删除影片剪辑,这是我能想到的最好的,尽管我对 AS3 还很陌生。
对此的任何帮助将不胜感激。
附言。以下是我在另一个函数中使用的删除代码,但这也不是很好:
lvlHolder.removeChild(["myMob"+i]);
mobsArray.splice(i,1);