我正在尝试在舞台上生成多个星星,但我不断收到动作脚本错误。
stop();
var i;
var arrayStars:Array;
for(i=0; i<70; i++) {
arrayStars[i] = new Star(); //Star is a linked movie clip exported to AS3.
arrayStars[i].x = Math.floor(Math.random() * 1650);
arrayStars[i].y = Math.floor(Math.random() * 1060);
addChild(arrayStars[i]);
}
我得到的错误是:
TypeError:错误#1009:无法访问空对象引用的属性或方法。
at Untitled_fla :: MainTimeline / frame1()[Untitled_fla.MainTimeline :: frame1:7]
在运行时:: ContentPlayer / loadInitialContent()
在运行时:: ContentPlayer / playRawContent()
在运行时:: ContentPlayer / playContent()
在运行时:: AppRunner / run()
在global / runtime :: ADLEntry()
提前致谢。
答案 0 :(得分:3)
您需要初始化阵列。
var arrayStars:Array = [];
或者:
var arrayStars:Array = new Array();
另外,我更倾向于这样做:
var arrayStars:Array = [];
for(var i:int = 0; i<70; i++)
{
var star:Star = new Star();
star.x = Math.floor(Math.random() * 1650);
star.y = Math.floor(Math.random() * 1060);
addChild(star);
arrayStars.push(star);
}