6.0.简介

ActionScript 3.0 和Flash Player 9 的渲染模型已经和以前的版本有很大不同。以前MovieClip是渲染的焦点。swf 电影的根节点就是MovieClip (现在用Stage). 根节点MovieClip 可以包含子节点MovieClips, 子节点还可包含更多的子节点MovieClips。这样的层次结构用来控制MovieClips 的绘制(深度越深表示显示在最顶层)。createEmptyMovieClip( ), attachMovie( ), 或duplicateMovie- Clip( ) 用来创建MovieClips。一旦MovieClip 被创建,它就自动添加到这个可视化层级列表中通过渲染器进行绘制。MovieClips 在层级列表中不能移动位置,非要这么做则只有删除当前的,然后在指定位置创建。


新的渲染器仍基于层级结构,但是于之前相比是经过最优化处理,更简单和灵活。新的渲染模型类都集中在flash.display 包中。这个包中包含所有在.swf 电影中用到的可视化类。其他不在该包中的任何对象都不会被渲染器绘制。每个.swf 电影包含一个可视化对象列表,有下面三种类型:


stage
stage 是可视化对象列表层级的根节点。每个电影有一个stage 对象,它包含屏幕上显示出的所有对象。实际上stage 是一个容器,可以通过引用stage属性来访问任何可视化对象。


可视化对象容器
可视化对象容器包含其他可视化对象,stage 就是个可视化对象容器。其他的可视化对象容器包括Sprite, MovieClip, 和Shape。当一个可视化对象容器被删除时,它包含的所有子对象都将被删除。


可视化对象
可视化对象就是一个可显示的元素。有两种一种是可视化对象容器,比如MovieClip,另外是可视化对象,比如一个TextField。可视化对象创建后不会立即被显示出来,只有被添加到可视化对象容器后才被显示。


可视化对象列表进行了以下方面的改进:


提高了性能
可视化对象列表除了MovieClip还包含了多个可视化类。如Sprite 可以减少内存需求,另外Shape可以代替MovieClip 实例进行绘画。用这些轻量级的类节省了内存和资源,提高了性能。


更容易的层级管理
新的可视化对象列表模型增加了层级管理功能。在以前的版本中, 通过调用getNextHighestDepth( ) 在当前位置创建MovieClips,swapDepths( ) 控制层级顺序。这种层级管理是非常不合理和不灵活,写程序时也要非常小心。新的可视化对象列表模型直接自动处理了这个问题,彻底摆脱了手动层级管理。


灵活的结构
原来的模型结构非常死板和不灵活,要修改层级, MovieClips 必须删除然后再在新位置创建,
简直是在浪费时间,也直接导致了运行速度下降。新的显示模型具备高灵活性,可以随意移动元素到任何位置而不需要删除再创建。


创建可视化对象更容易
新的渲染模型更容易创建可视化对象,特别是自定义可视化类的创建。之前的模型需要扩展MovieClip,再连接指定的类库。attachMovie( ) 只能用来创建自定义类实例。新的模型,可以扩展更多的可视化类,这些将在第6.4节讨论。


flash.display 包包含了核心的可视化类,老的模型的核心类是MovieClip,现在DisplayObject 类顶级可视化类以及它的各种子类。


类层级图:

每个核心类都有特定功能,这样的层级类提供了更加灵活的编程能力(相对于以前只有MovieClip)。

加支付宝好友偷能量挖...


评论(0)网络
阅读(63)喜欢(0)flash/flex/fcs/AIR