[AS3]直接获取在那一桢的非Shape显示对象
如果一个MovieClip goto到非当前帧,那么直接获取在那一桢的非Shape显示对象是获取不到的,但是currentFrame会立即跟进到 指定帧, 但指定帧还未渲染完成, 所以非Shape获取不到的
如果一个MovieClip goto到非当前帧,那么直接获取在那一桢的非Shape显示对象是获取不到的,
但是currentFrame会立即跟进到 指定帧, 但指定帧还未渲染完成, 所以非Shape获取不到的
Shape元件简单很快就渲染完成了, SimpleButton, MovieClip 却需要更多的时间
废话不多说了,上代码, 注释比较详细
- 代码
- Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/-->package
- {
- import flash.display.DisplayObject;
- import flash.display.DisplayObjectContainer;
- import flash.display.Loader;
- import flash.display.MovieClip;
- import flash.display.Sprite;
- import flash.events.Event;
- import flash.net.URLRequest;
- /**
- * ...
- * @author lite3
- */
- public class MCgetChildTest extends Sprite
- {
- private const url:String = "http://www.lite3.cn/assets/swf/mc_getchild_test.swf";
- private var loader:Loader = new Loader();
- public function MCgetChildTest()
- {
- loader.load(new URLRequest(url));
- loader.contentLoaderInfo.addEventListener(Event.COMPLETE, completeHandler)
- }
- private function completeHandler(e:Event):void
- {
- loader.removeEventListener(Event.COMPLETE, completeHandler);
- trace("------------- 主时间轴 -----------------");
- // 获取当前时间轴里mc是子对象
- var mc:MovieClip = (loader.content as DisplayObjectContainer).getChildAt(0) as MovieClip;
- trace("第一个显示对象:", mc);
- trace("跳转到第3帧!");
- mc.gotoAndStop(3);
- // 如果是MovieClip就是null, shape就有shape实例
- trace("马上测试子对象个数:", mc.numChildren, ",第1个显示对象:", mc.getChildAt(0));// 1 null
- trace("添加EnterFrame侦听!")
- // 这里要添加enterFrame侦听, 否
- mc.addEventListener(Event.ENTER_FRAME, enterFrameHandler);
- }
- private function enterFrameHandler(e:Event):void
- {
- var mc:MovieClip = e.target as MovieClip;
- //mc.removeEventListener(Event.ENTER_FRAME, enterFrameHandler);
- // 刚load进来的,第一次也是null
- // 不是刚load进来的第一次就可以取到了
- trace("子对象个数:", mc.numChildren, "/第一个子对象:", mc.getChildAt(0));
- trace(mc.numChildren, mc.getChildAt(0));
- }
- }
- }
热门文章推荐
- [HLS]做自己的m3u8点播系统使用HTTP Live Streaming(HLS技术)
- [FMS]FMS流媒体服务器配置与使用相关的介绍
- [AS3]什么是M3U8,与HTML5的区别是什么
- AS2.0 让flash自适应全屏,并且不自动缩放
- [AS3]as3.0的sound类常用技巧整理
- [AS3]as3与ByteArray详解、ByteArray介绍、ByteArray用法
- 关于RTMP,RTMPT,RTMPS,RTMPE,RTMPTE协议的介绍
- [JS]分享浏览器弹出窗口不被拦截JS示例
请稍候...