actionscript 3.0里面控制影片深度
星期三, 11月 12th, 2008虽然题目是在actionscript 3.0里面控制影片深度,而实际上actionscript 3.0里面已经不复有深度(depth)这个提法了。
那不同的显示对象,如果要设置对象A在对象B上面怎么做?
actionscript 3.0提供了一个DisplayObjectContainer的基类,用来管理类中的显示对象。
该类提供了若干管理方法:
1. addChild:将对象加入显示列表,其实是一个压栈的过程,先加进去的对象在底部,后加进去的对象在顶部。在没有动态设置深度的情况下,安排好addChild的顺序基本上可以满足需求了。
2. getChildByName():按名称检索显示对象。
3. getChildIndex():返回显示对象的索引位置。对象的索引值从0开始
4. setChildIndex():更改显示对象的索引位置。应当避免不要出现两个显示对象的索引位置一样的情况,那样谁显示在前面是不确定的。
5. swapChildren():交换两个显示对象的前后顺序。
6. swapChildrenAt():交换两个显示对象的前后顺序(由其索引值指定)。
另外DisplayObjectContainer只是一个基类,不能实例化的,要管理一堆显示对象,可以用一个空白的MovieClip来充当容器,MovieClip类也是从DisplayObjectContainer基类派生出来的。
——————————————————-
多说一句的是:Flash CS3虽然兼容了actionscript 2.0,然而Adobe还是要把整个产品向规范化靠拢,所以2.0在将来也将逐步被摒弃,要在这套环境下继续开发,早点转成3.0的模式去设计吧。