正在加载...

由于Flash CS3的Document Class又可以从Sprite继承,因此此文描述的一些问题尚待考证。值得肯定的是text仍然继承自DisplayObject,但却不属于flash.display包,而是flash.text包!

相信很多人肯定都拿到了早先放出的《ActionScript 3.0 Cookbook》 在手。其中第16章第4节 《Recipe 16.4. Reading Video Duration》讲到的例子在某些的Flash 9 Public Alpha 中是无法正常编译的。在一些老的Public Alpha 中也会有问题。主要就是两个方面

一、Document Class必须从MovieClip继承,而不能从Sprite 继承了。

二、TextField、TextFieldAutoSize类并不属于flash.display包,而属于flash.text包了。

其中,MovieClip-Sprite的问题只存在于某一些Flash9的PublicAlpha。具体我也说不上是哪些版本,在我这边,自己的Laptop上能跑Sprite下来的Document Class,而台式电脑上却必须从MC继承了。否则会提示一个错误信息:“ReferenceError: Error #1065: Variable addFrameScript is not defined.”。而TextField类两边都必须从flash.text中得到。

一方面,我们看的出来Adobe Flash Team还是很重视文本渲染能力的。另一方面,概念上把text相关的渲染机制与flash.display分离,是否意味着今后的渲染引擎要分开?是否意味着如现在Apollo中那样,会对TextField类提供一套类似WebKit一样的“轻量级”文本渲染引擎?毕竟官方解释的“flash.display.*负责一切显示在屏幕上的元素”在这种环境下优点自相矛盾。

很早就抱怨过Flash的文本渲染能力之差,在一切疑团揭开之前。只能寄希望于Apollo的HTML渲染引擎了,但让我担心的是,两套渲染引擎同时跑(WebKit-HTML和Flashplayer-flash.display.*)最终的性能到底能有多好……

前几天听sohu的朋友老赵说AS3的包结构还会调整,真是晕了。

还没找到您要的东西?Google试试看吧,
Google更注重原创、时效性好的文章:


本文相关评论: 一条都没有呢
[支持Ctrl+Enter]为了我们大家和家人的安全,留言请慎重!
声明:
1、本站仅与见过面的个人博客交换链接,见此文
2、留言时的头像是Gravatar提供的服务。如果您有兴趣并且有闲暇时间,可以看看这里的介绍