在flash as3中,我们对于库中元件的引用都可以当作类来使用,一般操作顺序为右击库中元件,然后选择链接,在类中一栏中输入类名,这样我们就可以在场景中通过代码进行调用,用的方式与使用外部类一样,而无须像AS2中的attachMovie。但有些时候我们需要对元件进行扩展,那么我们就需要绑定真正的外部类文件,那么在链接的类中一栏中就輸入一个确实存在于文件中的类就可以,下面来看一个实例,实例主要体现在一个圆形的元件,并且元件在场景中会不停的上浮,通过场景一次调用100个,但这100个的大小随机变化。
一、新建一个AS3文件,在场景中绘制一个圆形图形,并将其转换为movieclip,然后右击此元件,链接,在类一栏中输入名称qiu。
二、新建类文件qiu,输入如下代码:
package {
import flash.display.MovieClip;
import flash.events.*;
public class qiu extends MovieClip {
var speedx:Number=0;
var speedy:Number=0;
public function qiu() {
speedx=.5*Math.random()-0.5;
speedy=5*Math.random();
this.addEventListener(Event.ENTER_FRAME,Mot);
}
function Mot(e:Event) {
this.x+=speedx;
this.y-=speedy;
if (this.y<0) {
init();
}
}
function init() {
this.y=400;
this.x=Math.random()*550;
}
}
}
以上代码主要实现了通过元件的座标点控制元件的移动功能
三、建立文档类main.as
package
{
import flash.display.MovieClip;
public class main extends MovieClip
{
public function main():void
{
for(var i:int=0;i<100;i++)
{
var q:qiu=new qiu();
this.addChild(q);
q.x=Math.random()*550;
q.y=Math.random()*300+400;
q.alpha=.2+Math.random()*.5;
var scale:Number=.3+Math.random();
q.scaleX=q.scaleY=scale;
}
}
}
}
以上代码实现调用。一下子生成100个元件,并且随机变换元件的大小,至于元件的移动那是由元件本身去实现,而无须文档类去完成,大家对比着看一看与AS2有什么不同。