AS3:生成多个影片剪辑(随机位置)?

时间:2011-10-13 00:24:57

标签: flash actionscript-3 movie flash-cs5 clip

我正在尝试在舞台上生成多个星星,但我不断收到动作脚本错误。

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()

提前致谢。

1 个答案:

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