让不同的库元件继承自共同的类

  如果希望同一个fla文件库中多个元件都能实现相同的行为,那么最方便的想法是让他们绑定同一个类。但是,同一个fla文件中,一个类文件只能绑定一个元件,超过了就会报错。怎么办?有一个巧妙的解决办法,将要绑定的类文件设为基类,这样,这些元件都继承自同一个基类。而绑定类则有编译时自动生成即可。

  ——摘自黑羽《as3殿堂之路》

  设置元件的类名和基类点击右键看属性,选中"为ActionScript"导出 然后在类里填写TextBtn(当然你可以设置多个按钮),基类是com.englishLearningSystem.common.CommButton

 1 package com.englishLearningSystem.common
 2 {
 3     import flash.display.MovieClip;
 4     import flash.events.MouseEvent;

12     public class CommButton extends MovieClip
13     {
18         public function CommButton()
19         {
20             super();
21             initView();
22         }
23         //初始化按钮
24         private function initView():void
25         {
26         }    
27     }
28 }
 1 package com.englishLearningSystem.interpret
 2 {
 3     import com.englishLearningSystem.common.CommButton;
 4     import flash.display.MovieClip;
 5     import flash.utils.getDefinitionByName;

12     public class LeftContent extends MovieClip
13     {
14         //以双下划线开头的属性表示与库中元件相关
15         private var __TextBtn:Class;
16         
17         public function LeftContent()
18         {
19             init();
20         }
21         
22         private function init():void
23         {
24             //发射方式加载库元件
25             __TextBtn = getDefinitionByName("TextBtn") as Class;
26        var textBtn:CommButton = new __TextBtn();
28        addChild(textBtn);
29 
30         }    
31     }
32 
33 }
posted @ 2012-04-13 20:15  FlashHK  阅读(286)  评论(0编辑  收藏  举报