background image

ActionScript 导出”,然后在基类文本框中输入“flash.display.Sprite”,点击确定按钮即可将元
件绑定为

Sprite 类的子类。 

  

2 类绑定的方法 

  类绑定的方法有两类,一类最常用的是自动生成绑定绑定,二是手工编写绑定的类文
件。

 

  在

ActionScript2.0 时代可以通过链接标识符来实现使用代码在舞台上显示库元件,在

AS3.0 已经不存在链接标识符的概念,可以通过下述方法来实现绑定并显示元件。右键单击
库中元件

A,在弹出的对话框中选择“为 ActionScript”导出,这时类名默认与元件名一致且

继承自

MovieClip 类,编译时,会自动生成一个同名类 A,然后类 A 会和元件 A 绑定,生

成类

A 的对象并加入显示列表,舞台上会根据代码要求出现库元件 A 的实例。关键帧代码

如下:

 

  

Var a:A=new A;addChild(a);a.x=100;a.y=100; 

  如果不希望绑定类与库元件同名,可以在类名文本框中输入自定义名称。这种自动生成
的类绑定好处在于简单,不必再手工创建独立的类文件,缺点是不能对库元件做任何修改,
也不能添加任何新的属性。

 

  如果希望通过类绑定对库元件进行更多的操作,如添加属性和控制对象行为,就需要
手工编写外部类文件。一般情况下,一个库元件只允许和一个类文件进行绑定,若要多个元
件实现共同的行为,就要编写不同的对应类文件,否则会造成编译错误,这种做法不符合
面向对象代码复用的原则。如果希望用一个类文件,控制不同的库元件行为,又不造成编译
器报错,可以采用类继承的方式,首先将所有元件都要实现的相同方法和属性写入一个基
类,各元件的绑定类都继承自该类,然后由编译器自动实现类绑定。例如:存在一个
CarMove.fla 文件,其中有两辆汽车 CarA 和 CarB,希望这两辆汽车的实例实现从舞台左侧
到右侧的移动。首先编写一个基类

CarMoveMC 实现两辆汽车的共同属性“speed”,然后将库

中的两个汽车元件

“为 ActionScript 导出”,类名为 CarA 和 CarB,都以 CarMoveMC 为基类。

基类代码如下:

 

  

//CarMove.fla 与 CarMoveMC.as 都在根目录中 

  

package{ 

  

import flash.display.MovieClip; 

  

import flash.events.Event; 

  

public class CarMoveMC extends MovieClip 

  

{private var _speed:Number = 1; 

  

//speed 是两辆汽车的共同属性 

  

public function CarMoveMC (){ 

  

super(); 

  

addEventListener(Event.ENTER_FRAME, move); 

  

  

public function set speed(nS:Number):void { 

  

_speed = nS; 

  

}//控制汽车移动的速度 

  

private function move(evt:Event):void { 

  

this.x -= _speed; 

  

}}} 

  为舞台根容器编写一个文档类,实现显示类表子对象的显示,即让

CarA 和 CarB 的实

例在舞台上显示,并显示出相同的

speed 属性。文档类的 DisplayCar.as 文件与 CarMove.fla