主场景本身是一个DisplayObjectContainer对象,因而可以直接给它添加addChild,还可以直接添加帧频事件侦听。下面的代码就是关于这个内容的一段练习。
var temp:Number = 0;
var mc_array:Array = new Array(); //记录全部的MC,用于删除。
var w:Number = 500;
var h:Number = 400;
var len:Number = 100;
function drawBox (evt:Event ) {
if ( temp < 300) {
mc_array[temp] = new MovieClip();
addChild (mc_array[temp]);
var g:Graphics = mc_array[temp].graphics;
g.beginFill (Math.random()*0xFFFF,0.8);
switch ( Math.floor(Math.random()*3) ) {
case 0 :
g.drawRect (Math.random () * w,Math.random () * h,Math.random () * len,Math.random () * len);
break;
case 1 :
g.drawCircle (Math.random () * w,Math.random () * h,Math.random () * len);
break;
case 2 :
g.drawEllipse (Math.random () * w,Math.random () * h,Math.random () * len,Math.random () * len);
}
temp++;
} else {
for (var i = 0; i< mc_array.length; i++) {
removeChild ( mc_array[i]);
}
mc_array = new Array();
temp= 0;
}
}
addEventListener ( Event.ENTER_FRAME,drawBox );
舞台Stage 对象已经被stage取代,但是具体怎么用还没测试出来。这里的switch结构只是为了展示一下几种画图函数的用法,对效果没多大帮助,还不如只用画矩形效果来得好。随机颜色,我使用Math.random()*0xFFFF,使得整体的颜色呈现偏蓝。