《ActionScript 3.0 Cookbook》读书笔记6.1-关于Display List
由于工作太忙,2-5章的内容又相对简单,因此一直没有来得及整理学习笔记,现在正在学习第6章,因此笔记也从这里开始。前面的笔记,有时间再补上。
Display List
ActionScript3的Display List是我很感兴趣的一部分内容,它完全改变了ActionScript1和ActionScript2的层级结构。确实,新的层级结构非常清晰,更加便于使用。
Flash Player 9由两个部分组成:ActionScript虚拟机(AVM)和渲染引擎。要显示内容,先由AVM创建显示对象、再由渲染引擎将其显示在屏幕上。
例如,要将一个文本框显示在屏幕上,先使用new关键字来创建TextField类的实例,这个工作是由AVM处理;然后用addChild方法将这个实例显示在屏幕上(由渲染引擎处理)。
DisplayList是非常灵活的。最上层的容器就是Stage,Stage可以包含显示对象(DisplayObject),也可以包含容器(DisplayObjectContainer),而容器又可以包含显示对象或者子容器。实际上,Stage就是一个容器。
关于Stage
一个swf文件只有一个Stage。可以使用两种方法来调用它:
- DisplayObjectContainer(stage)
- 显示对象实例.stage
但无论采取哪种方式调用,无论在哪个显示对象实例上调用,它们所代表的Stage都是同一个Stage。
关于深度管理
ActionScript3的深度管理是自动的。和ActionScript2不同,在addChild的时候,不需要为加入DisplayList的显示对象制定深度。Depth已经成为历史。
深度管理器会自动为新添加的显示对象指定一个最高的深度,在新的深度管理中,最低的深度就是0 。深度为0的对象显示在最下面。如果在添加显示对象的时候为其指定了一个深度,而这个深度原来有显示对象,则深度管理器会自动将原来的内容的深度值增加,其他的显示对象深度值则相应地增加。
深度值只能是正整数和0。
每个容器的深度值是相对独立的。
- 文章ID:303
- 原文作者:zrong
- 原文链接:https://blog.zengrong.net/post/actionscript3-cookbook-61/
- 版权声明:本作品采用 署名-非商业性使用-相同方式共享 4.0 国际 (CC BY-NC-SA 4.0) 进行许可,非商业转载请注明出处(原文作者,原文链接),商业转载请联系作者获得授权。