package{ import flash.display.*; import flash.events.Event; import flash.net.URLRequest; public class LoadJPG extends Sprite{ private var myLoader:Loader; public function LoadJPG(){ myLoader=new Loader(); myLoader.contentLoaderInfo.addEventListener(Event.COMPLETE,completeListener); myLoader.contentLoaderInfo.addEventListener(Event.INIT,initListener); myLoader.load(new URLRequest("fengjing.jpg")); }//end of constructor function LoadJPG private function completeListener(e:Event):void{ trace("This is from Event.COMPLETE listener"); trace(myLoader.content.width); trace(myLoader.getChildAt(0).height); trace(e.target.content.rotation); trace("添加到显示列表前 : ",myLoader.numChildren);//1 addChild(myLoader.content); trace("添加到显示列表后 : ",myLoader.numChildren);//0 }//end of function completeListener private function initListener(e:Event):void{ trace("This is from Event.INIT listener"); trace(myLoader.content.width); trace(myLoader.getChildAt(0).height); trace(e.target.content.rotation); }//end of function initListener }//end of class LoadJPG }//end of package
例如,在加载影片或动画的第一帧时将调度 Event.INIT。然后,影片将可供访问并可添加到显示列表中。不过,下载完整的影片可能需要花更长的时间。只有在加载了完整的影片之后才会调度 Event.COMPLETE。
init 事件始终在 complete 事件之前。
访问用Loader加载进来的显示资源的时候,通常有3种办法,比如,myLoader是Loader类型的实例,要访问其加载的内容,可以这样:
1,myLoader.content;//直接访问实例的content
2,myLoader.getChildAt(0);//被加载的资源是myLoader的唯一孩子
3,e.target.content;//在侦听函数里面通过事件的目标对象访问
如果要为Loader添加侦听,必须通过Loader的实例变量contentLoaderInfo注册,contentLoaderInfo变量提供了对它装载资源的LoaderInfo对象的一个引用。而不能直接在Loader的实例上添加侦听!
以下代码简单展示了访问装载资源对象的方法和添加侦听的方法,有一个小疑惑啊,事件类型Event.COMPLETE和Event.INIT有什么区别,只知道前者是在加载结束之后触发,后者是在加载初始化后触发。牢记一点Event.COMPLETE永远发生的比Event.INIT晚 ,所以是不是在更多的情况下考虑使用Event.COMPLETE?
参考书对Event.INIT的解释如下
1, 对位图而言,实例化发生于当外部文件已经完全装载的时候。在那个时期,被装载的像素数据自动地被放置在一个BitmapData对象中,然后它被关联于一 个新的Bitmap对象,改Bitmap对象表示被装载的图像。(是不是对位图而言Event.INIT跟Event.COMPLETE是一样的?)
2,对于swf文件,实例化发生于当在帧1的所有资源和类(包括.swf的主类)已经被接收到的时候。在那个时期,ActionScript创建.swf主类的一个实例,并执行它的构造器。该主类实例表示被装载的.swf文件。
注 意,千万不要在初始化完成之前(Event.INIT触发之前)或者加载完成之前(Event.COMPLETE触发之前)试图访问被加载的资源。此时会 报错,如果用myLoader.content访问,content此时为空,如果用myLoader.getChildAt(0)访问则报错,错误 为:RangeError:Error #2006
当被装载的资源对象添加到一个新的DisplayObjectContainer中,被装载的资源自动从它原来的父亲容器Loader对象中移除!
发表评论
-
AS3 父SWF与子SWF之间传值
2011-02-20 15:19 2617FLASH中 父SWF加载子SWF并向子SWF传值在很多应用上 ... -
flash as3.0 被加载的swf 控制主swf文件触发事件
2011-02-19 14:48 3023比如有两个swf文件 1.swf,2.swf 1.swf ... -
一些很有创意的导航栏设计,给大家分享下。
2011-02-19 11:08 1576希望对各位同学有所帮助。啊哦………… 陆续完善i ... -
浅谈webgame游戏开发技术要点
2011-02-19 11:02 1003写这些只是想和大家交 ... -
aswing
2011-02-19 10:43 857AsWing是一套UI组件框架,纯ActionScript开发 ... -
as3加载外部XML文件
2011-02-18 19:50 1441加载过程如下: 1.使用URLRequ ... -
如何保护swf文件不被反编译软件破解?
2011-02-18 19:42 2172How to protect SWFs from decomp ... -
45度地图编辑器及游戏开发心得
2011-02-15 19:12 1455转载 这个编辑器是本人为公司项目专门开发 的一个功能比较齐 ... -
BulkLoader开源文件加载类
2011-02-09 22:10 1209BulkLoader是一个不错且使用简单的开源加载类, ... -
社区客户端开发技术总结
2011-01-29 22:57 857不管是什么样的项目,都会拆分成一个一个小的模块。最终实现都是些 ... -
“神之惩戒”--国内MMORPG游戏的困局1
2011-01-28 15:13 792《神之惩戒——MMOR ... -
adobe alchemy资料整理
2011-01-28 14:56 2434Adobe 自从2007年中推出了AS3支持 ... -
hitTest(BitmapData.hitTest 方法)
2011-01-25 18:14 1173public hitTest(firstPoint:Poi ... -
AS3使用外部SWF文件的库文件
2011-01-25 15:32 1463在swf文件中使用外部swf文件的库文件,从而达到类似素材 ... -
Flash摄像头游戏课件设计与开发
2011-01-25 11:07 1197[导读] Flash摄像头游戏课件设计与开发 ... -
AS3图像复制BitmapData.copyPixels()
2011-01-22 16:35 1941//舞台属性设置 stage.align ... -
ps样式介绍
2011-01-22 14:32 852PS样式就是效果的集合。“窗口”“样式”就可以打开样式面板。里 ... -
获取当前SWF的绝对路径
2011-01-20 19:22 1374首先 ,说明我测试的系统地址和网络地址的情况: 某电脑 ... -
PureMVC中观察者模式运用
2011-01-20 09:36 1285刚一个开始看PureMVC,一个字乱,摸不着头脑,不过这个要慢 ... -
获取当前SWF的当前路径
2011-01-19 20:00 1441首先 ,说明我测试的系统地址和网络地址的情况: 某电脑 ...
相关推荐
imageLoader.contentLoaderInfo.addEventListener(Event.COMPLETE, onImageLoaded); imageLoader.load(new URLRequest("path_to_your_image.jpg")); } private function onImageLoaded(event:Event):void { _...
`Event.INIT`表示加载已完成且内容已初始化,`Event.COMPLETE`表示整个加载过程结束,`ProgressEvent.PROGRESS`用于跟踪加载进度。 ```actionscript loader.contentLoaderInfo.addEventListener(Event.INIT, ...
loader.contentLoaderInfo.addEventListener(flash.events.Event.COMPLETE, finished_loading); // Tell the loader to call 'initHandler' after the swf is initialized. loader.contentLoaderInfo....
3. **Event.INIT**:初始化事件,当开始加载SWF文件时触发。 4. **IOErrorEvent.IO_ERROR**:输入输出错误事件,当加载过程中出现错误时触发。 5. **Event.OPEN**:打开事件,当开始尝试加载资源时触发。 6. **...
xmlLoader.addEventListener(Event.COMPLETE,xmlLoaderCompleteHandler); } private function xmlLoaderCompleteHandler(event:Event):void { xml=new XML(event.target.data); title=xml.song.@...
1. **Event监听**:预加载类需要监听`Event.INIT`、`Event.PROGRESS`和`Event.COMPLETE`事件,这些事件在加载过程中触发,帮助我们掌握加载进度。 2. **Loader类**:AS3的`flash.display.Loader`类用于加载SWF或...
2. `loadDriver(event:Event)`函数:这是处理`Event.COMPLETE`事件的回调函数。事件参数`event.target`指的是触发事件的对象,即`URLLoader`。我们通过`URLLoader.data`属性获取到加载的XML数据,并将其转换为`XML`...
loader.addEventListener(Event.COMPLETE, complete); loader.load(new URLRequest("http://www.webxml.com.cn/WebServices/MobileCodeWS.asmx/getMobileCodeInfo?mobileCode=13800138000&userID=")); } ...
lrcLoader.addEventListener(Event.COMPLETE,loadCompleteHandler); stage.addEventListener(Event.ENTER_FRAME,soundPlayingHandler); this.addEventListener(Event.ENTER_FRAME,creatSpectrum); } ...
4. **事件处理**:在加载过程中,常见的事件有`Event.INIT`(表示加载项初始化完成)、`ProgressEvent.PROGRESS`(表示加载进度)、`Event.COMPLETE`(表示加载完成)和`IOErrorEvent.IO_ERROR`(表示加载错误)。...
.addEventListener("complete",a.onComplete))}var a=createjs.extend(AbstractTween,createjs.EventDispatcher);a._setPaused=function(a){return createjs.Tween._register(this,a),this},a.setPaused=createjs....
urlLoader.addEventListener(Event.COMPLETE, completeHandler); } private function completeHandler(event:Event):void { var xml:XML = new XML(event.target.data); this.dg.dataProvider = xml.children();...
channel.addEventListener(Event.SOUND_COMPLETE, playMusic); } } ``` - `musicArr`初始化:这里仅添加了一个音乐文件路径作为示例。 - `playMusic`方法:如果音乐列表不为空,则开始播放第一首音乐,并监听...
2. `init()`函数用于初始化事件监听器,包括`ProgressEvent.PROGRESS`、`Event.SELECT`和`Event.COMPLETE`。`Security.allowDomain("*")`允许跨域访问。 3. `uploadFile()`函数展示了如何设置不同的文件过滤器,让...
Python参考手册,官方正式版参考手册,chm版。以下摘取部分内容:Navigation index modules | next | Python » 3.6.5 Documentation » Python Documentation contents What’s New in Python ...
loader.contentLoaderInfo.addEventListener(Event.COMPLETE, swfLoaded); loader.load(new URLRequest("path_to_your_swf.swf")); private function swfLoaded(event:Event):void { var swfObject:DisplayObject ...
event.target.classList.contains('auto-complete')) { this.index = -1; this.domInput.value = this.sSearchValue; document.querySelector('.auto-complete').remove(); } }.bind(this)); ``` ### 5. 结合...
Papa.parse(reader.result, { delimiter: '\t', complete: (results) => { // 创建ECharts实例 const myChart = echarts.init(document.getElementById('main')); // 构建ECharts配置项 const option = { ...
:)26/3/981.6.1- Added a FUNCFileName private variable to manage the complete path of the attached file. I receive problems reports with this, it work now ?.- Reduced the line sleep to 30 (tell me if ...