您的位置: 首页 > 技术文档 > 多媒体制作 > Document Class特色带来了什么?
探索F9 As3.0 Preview 回到列表 Flex Builder 2 之黑客帝国
 Document Class特色带来了什么?

作者:KingdaSun 时间: 2006-07-04 文档类型:原创 来自:蓝色理想

ActionScript 3.0系列教程(2):AS3.0的类及绑定

ActionScript 3.0系列教程(3):Document Class特色为我们带来了什么?

Document Class,中文直译为“文档类”。顾名思义,就是和文档绑在一起的类。
文档是啥?就是要和这个类绑在一起的Fla文件。

什么用处
这个玩意儿根本目的就是想把AS代码和Flash设计完全剥离。
从此,Fla里面只管设计,逻辑代码全部由外部的类来包办。

对于设计者和新手,黑羽可以打个比方,就好比三步走:

1.把Fla里面所有代码集中到第一帧,
2.再把第一帧里的代码拷贝到外部的一个as文件里。
3.再按照AS3.0的形式,把这些代码放到这个类的构造函数里去。再根据这些个代码抽出一些类的属性和方法就OK了。

唔,这个比喻有很多小毛病。但比较直观,比较好理解,一步步来。
等你明白有哪些小毛病了,你已经不需要这个破比喻了。

对于程序开发者(比如c#)
Document Class就好比一个Entry,它的构造函数就相当于一个main函数。

教程相关例子下载点击下载

先来一个例子:

上次建立的KingdaMC.fla和KingdaMC.as还在吧?
删了?重来一遍吧,本次要用到fla里面的加好链接类的元件,以及相关的KingdaMC类文件。

我们干两件事:

1.新建一个Document Class类。
2.用上之前的那个Kingda.fla,绑定Document Class

1.新建一个as文件,命名为KingdaMCDocumentClass,记得要和fla在同一目录下:
输入如下代码:

//因为在统一目录下,所以package后面没有路径
package {
   import flash.display.MovieClip;
  
   public class KingdaMCDocumentClass extends MovieClip {
      private var tempMC:KingdaMC; //临时变量,持有当时创建的KingdaMC的引用。
      private var MAX_MCS:int = 10;  //最多创建的KingdaMC数目
     
     //构造函数,和类同名,在AS3.0中必须为public。不能用private,protected或者自定义的namespace
      public function KingdaMCDocumentClass() {
         var i:int;  //新的数据类型int,只要是整数,就请用int。效率快过Number。
         for (i = 0; i < MAX_MCS; i++) {
            tempMC = new KingdaMC ();
           
           //以下两行定义创建的KingdaMC形状大小随机
            tempMC.scaleX = Math.random();
            tempMC.scaleY = tempMC.scaleX;
           //以下两行定义创建的KingdaMC位置在舞台上随机。
            tempMC.x = Math.round(Math.random() * (this.stage.stageWidth - tempMC.width));
            tempMC.y = Math.round(Math.random() * (this.stage.stageHeight - tempMC.height));
            addChild(tempMC);
         } 
      }
   }
}

它要干的事很简单,就是用我们之前的KingdaMC类在舞台上创建十个KingdaMC实例,大小随机,位置随机。

2.用上之前的Kingda.fla,绑定KingdaMCDocumentClass。
确保库中已有设好KingdaMC类链接的symbol。

设置方法如图:


点击放大

先把第一帧代码全部删掉。Ctrl+Enter测试一把。是不是有十个MC出来啊。
然后再像图中那样加上第一帧代码,和舞台元件乐一乐。就是不按照Document Class规矩干干,呵呵。

那么它到底是什么?
简单的说,是一个用来取代原有散乱的时间轴代码的标准解决办法。
当一个Fla文件被编译时,Document Class就被主动建立了。我们可以理解为Flash IDE偷偷加上了如下代码:

//path表示Document Class的包,如上一节中说过的org.kingda;
//DocClass是指Document Class的名字
import path.DocClass; 
var TouTouDe:DocClass = new DocClass();
//实例名TouTouDe是我乱写的,哈哈。可能是默认的instance1之类的名字

这样的好处是所有的时间轴逻辑都剥离到Document Class类文件中,一旦成为一个独立的类文件,那么很方便的可以和CVS软件结合起来。对团队合作(Designer + Coder)来说是一大利好。对新手和小项目来说,没什么优点和必要。

下面说点高级讯息和运用:
有什么坏处?
坏处大大的有。那是相当的不习惯。
所有的舞台上的元件都别直接用属性来命名(比如说随便命名为BigKingda),不然就会出现以下出错讯息:

ReferenceError: Error #1056: 无法为 KingdaMCDocumentClass 创建属性 BigKingda。

当然这个限制只在与舞台上的元件,在元件类部直接命名子元件没有问题,在Timeline写相关的代码没问题。

重要:Document Class初始化顺序怎样?
黑羽个人的研究结果:一旦设置了Document Class,那么初始化顺序如下:
Document Class初始化 > 主时间轴代码执行 > 舞台元件绑定的类初始化 > 元件的时间轴代码初始化 >..

下面的层次按这样的规律循环。

Ok了,三大特色到此详细介绍完了。
尽量讲的浅俗易懂,大家明白就好。而且黑羽也加上了一些高级讯息供老鸟参考。喜欢的顶一把!^_^

ActionScript 3.0系列教程(4):爽快使用XML

出处:蓝色理想
责任编辑:moby

◎进入论坛Flash专栏版块参加讨论

相关文章 更多相关链接
Flash中的颜色矩阵
Flash & Ajax 操作 XML
[FLASH]爽快使用XML
AS3中与服务器交互
Flash Pro 8中文版新特性详解
作者文章 更多作者文章
[FLASH]爽快使用XML
AS3.0的类及绑定
【震撼】Flash 9 Alpha发布
与Flash9的一次亲密接触!
解决Fla文件编译SWF后体积过大
关键字搜索 常规搜索 推荐文档
热门搜索:CSS Fireworks 设计比赛 网页制作 web标准 用户体验 UE photoshop Dreamweaver Studio8 Flash 手绘 CG
站点最新 站点最新列表
周大福“敬•自然”设计大赛开启
国际体验设计大会7月将在京举行
中国国防科技信息中心标志征集
云计算如何让安全问题可控
云计算是多数企业唯一拥抱互联网的机会
阿里行云
云手机年终巨献,送礼标配299起
阿里巴巴CTO王坚的"云和互联网观"
1499元买真八核 云OS双蛋大促
首届COCO桌面手机主题设计大赛
栏目最新 栏目最新列表
浅谈JavaScript编程语言的编码规范
如何在illustrator中绘制台历
Ps简单绘制一个可爱的铅笔图标
数据同步算法研究
用ps作简单的作品展示页面
CSS定位机制之一:普通流
25个最佳最闪亮的Eclipse开发项目
Illustrator中制作针线缝制文字效果
Photoshop制作印刷凹凸字体
VS2010中创建自定义SQL Rule

蓝色理想版权申明:除部分特别声明不要转载,或者授权我站独家播发的文章外,大家可以自由转载我站点的原创文章,但原作者和来自我站的链接必须保留(非我站原创的,按照原来自一节,自行链接)。文章版权归我站和作者共有。

转载要求:转载之图片、文件,链接请不要盗链到本站,且不准打上各自站点的水印,亦不能抹去我站点水印。

特别注意:本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有,文章若有侵犯作者版权,请与我们联系,我们将立即删除修改。

您的评论
用户名:  口令:
说明:输入正确的用户名和密码才能参与评论。如果您不是本站会员,你可以注册 为本站会员。
注意:文章中的链接、内容等需要修改的错误,请用报告错误,以利文档及时修改。
不评分 1 2 3 4 5
注意:请不要在评论中含与内容无关的广告链接,违者封ID
请您注意:
·不良评论请用报告管理员,以利管理员及时删除。
·尊重网上道德,遵守中华人民共和国的各项有关法律法规
·承担一切因您的行为而直接或间接导致的民事或刑事法律责任
·本站评论管理人员有权保留或删除其管辖评论中的任意内容
·您在本站发表的作品,本站有权在网站内转载或引用
·参与本评论即表明您已经阅读并接受上述条款
推荐文档 | 打印文档 | 评论文档 | 报告错误  
专业书推荐 更多内容
网站可用性测试及优化指南
《写给大家看的色彩书1》
《跟我去香港》
众妙之门—网站UI 设计之道
《Flex 4.0 RIA开发宝典》
《赢在设计》
犀利开发—jQuery内核详解与实践
作品集 更多内容

杂⑦杂⑧ Gold NORMANA V2