AS3 setChildIndex 的用法
2012-04-09 16:04
316 查看
setChildIndex 方法允许你向上或向下移动显示对象在显示列表内的位置。你可以把显示列表
考虑成一个数组,它的索引位置是从第 0 层开始的。如果你创建了 3 个显示对象,那么他们
的位置就是第 0,1,2 层。第二层的对象在外面,第 0 层的在最里面。
如果你想把某一个影片剪辑移动到所有显示对象的最里层,可以用
setChildIndex(myMovieClip,0)
执行这条语句之后,其余的对象将会自动往上提升一层,及他们的索引位置都加上了 1,原
来第 0 层的元素移到了第1 层,第1 层的元素移到了第 2 层……
如果想把某一显示对象移到所有对象的上面,这时就要用到 numChildren 属性,它的含义就
是该容器内显示对象的数目。比如现在某一容器内有三个显示对象,这个 numChildren 的值
就是 3,层次列表分别是第 0,1,2 层。那么,最外层的层深就是第 numChildren-1 层。
setChildrenIndex(myMovieClip,numChildren-1)
下例创建一个名为
container的显示对象容器,然后向该容器添加三个稍微重叠的子显示对象。当用户单击这些对象中的任何一个对象时,
clicked()方法调用
setChildIndex()方法,将单击的对象移动到
container对象的子级列表中最上面的位置:
import flash.display.Sprite; import flash.events.MouseEvent; var container:Sprite = new Sprite(); addChild(container); var circle1:Sprite = new Sprite(); circle1.graphics.beginFill(0xFF0000); circle1.graphics.drawCircle(40, 40, 40); circle1.addEventListener(MouseEvent.CLICK, clicked); var circle2:Sprite = new Sprite(); circle2.graphics.beginFill(0x00FF00); circle2.graphics.drawCircle(100, 40, 40); circle2.addEventListener(MouseEvent.CLICK, clicked); var circle3:Sprite = new Sprite(); circle3.graphics.beginFill(0x0000FF); circle3.graphics.drawCircle(70, 80, 40); circle3.addEventListener(MouseEvent.CLICK, clicked); container.addChild(circle1); container.addChild(circle2); container.addChild(circle3); addChild(container); function clicked(event:MouseEvent):void { var circle:Sprite = Sprite(event.target); var topPosition:uint = container.numChildren - 1; container.setChildIndex(circle, topPosition); }
相关文章推荐
- 用setChildIndex()方法来设置显示对象的层深
- pandas中关于set_index和reset_index的用法
- pandas中关于set_index和reset_index的用法
- as3 中get和set的用法
- as3.0 切换剪辑的层setChildIndex
- as3 中get和set的用法
- setChildIndex改变flex组件的显示层次
- pandas中关于set_index和reset_index的用法
- as3.0 setChildIndex
- Flex 组件 重设对象的深度:setChildIndex
- setChildIndex 元件交换深度
- pandas中set_index用法
- .NET中GET与SET的用法
- 110_容器_Set_HashSet基本用法_源码分析
- set的用法
- [STL]set实用用法
- 类集框架之Set简单用法
- 有关JAVA中collection和set和list的用法,以及元素的升序排序方法
- SetForegroundWindow的正确用法
- AS3 textfield.getCharBoundaries(index) 有时会返回NULL的问题解决方案