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

Posted

技术标签:

【中文标题】AS3:生成多个影片剪辑(随机位置)?【英文标题】:AS3: Generating multiple movie clips (random locations)? 【发布时间】:2011-10-13 00:24:57 【问题描述】:

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

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: 无法访问空对象引用的属性或方法。 在 Untitled_fla::MainTimeline/frame1()[Untitled_fla.MainTimeline::frame1:7] 在运行时::ContentPlayer/loadInitialContent() 在运行时::ContentPlayer/playRawContent() 在运行时::ContentPlayer/playContent() 在运行时::AppRunner/run() 在全局/运行时::ADLEntry()

提前致谢。

【问题讨论】:

【参考方案1】:

你需要初始化你的数组。

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

【讨论】:

以上是关于AS3:生成多个影片剪辑(随机位置)?的主要内容,如果未能解决你的问题,请参考以下文章

在舞台 AS3 上放置多个影片剪辑实例

Flash AS3 从影片剪辑访问全局变量

AS3 多个(影片剪辑按钮)为一个影片剪辑设置动画

获取时间轴动画影片剪辑 AS3 的 y 位置?

用flash as3语言如何将影片剪辑存入一个数组以及如何访问?

As3 影片剪辑背景图像大小