具体情况是在一个flex
项目里用swf
Loader去加载另一个flex
项目生成的swf
(主程序application节点的swf
),方法是swf
loader.load(url),但debug时老是在
// Force a "render" event to happen soon
_systemManager.stage.invalidate();
这个地方报错,提示说“无法访问空对象
引用的属性或方法。”被加载的swf已经被精简到只剩下application节点了,swfloader也没有加任何事件
监听,但还是依然报错
难道说swfLoader不能加载另一个flex项目的swf吗
随后又发现是这样的,swfLoader是用new 即时生成的,这种情况用load去加载flex主程序的swf就会报这个错,难道swfloader用new生成的有什么不妥吗
找到原因了,用new
生成的swfloader在未addChild到显示列表前,其_systemManager.stage这个对象为空,用load加载flex项目的
swf时,会用到这个对象的invalidate方法,所以会报错,解决的办法就是先把swfloader加入显示列表,然后就可以加载flex生成的
swf了
分享到:
相关推荐
创建一个新的Flex项目,并在src目录下组织你的源代码。 2. **导入必要的库**:在ActionScript类文件或.mxml文件中,导入SWFLoader组件所需的库。例如: ```actionscript import mx.controls.SWFLoader; ``` 3. ...
#swfloader加载器 ...多个加载方式 传递swf字符串数组,内部实现去加载相应swf存放到缓存中: var loader:SWFListLoader = new SWFListLoader(["module/MyTextComp.swf", "module/MyLoginComp.swf"],
加载SWF文件意味着在一个独立的Flash项目中嵌入另一个SWF文件,使得不同组件可以协同工作,增强用户体验。 要加载SWF文件,我们首先需要了解Flash ActionScript,这是Flash中的编程语言,用于控制动画和交互性。在...
在 Flex 启动过程中,SystemManager 会创建一个加载器(Preloader),用于加载应用程序所需的资源。加载器是一个 2 帧的 MovieClip,第一帧用于创建加载器,第二帧用于加载应用程序。加载器的外观是通过代码绘制的。...
1. 创建一个SWFLoader组件:Flex提供了SWFLoader组件,可以加载SWF或其他内容,包括HTML。我们可以通过设置其`source`属性来指定要加载的HTML页面URL。 2. 处理跨域问题:由于安全限制,如果HTML页面不在同一域下,...
首先,创建一个`SWFLoader`实例,并设置其`source`属性为SWF文件的URL: ```actionscript var swfLoader:SWFLoader = new SWFLoader(); swfLoader.source = "example.swf"; ``` 然后,将`SWFLoader`添加到舞台,...
`sban`可能是一个Flex项目文件,用于加载和控制`DocumentClass.swf`在Flex应用程序中的展示。通过这两个文件,你可以实际操作并理解Flex3与Flash CS3的集成过程。 总的来说,Flex3与Flash CS3的结合,能够充分发挥...
在开发富互联网应用程序(RIA)时,Flex 是一个常用的框架,它允许开发者创建交互性强、图形丰富的用户界面。本文将深入探讨如何在 Flex 中动态加载 Image 和 Icon,这对于创建响应式和灵活的应用程序至关重要。动态...
- 两个SWF需要在同一个目录下或者Flex应用通过`SWFLoader`加载Flash SWF,以便它们可以在运行时互相通信。 **AS3的SWF之间通讯:** - AS3的SWF可以直接进行跨脚本通讯(Cross-Scripting),不需要`LocalConnection`...
Flex Bootstrap是Adobe Flex框架的一个扩展,它为开发者提供了在构建富互联网应用程序(RIA)时采用Bootstrap设计模式的能力。Bootstrap是一个流行的前端开发框架,用于创建响应式、移动优先的网站和应用,而Flex则...
首先,在Flex项目中引入`mx.controls.SWFLoader`库,然后创建一个`SWFLoader`实例,设置其`source`属性为Flash SWF文件的URL或本地路径。例如: ```xml <![CDATA[ private function loadFlash():void { flash...
- 创建Flex项目:首先,我们需要在Flex Builder或类似的IDE中创建一个新的Flex项目,选择合适的Flex版本和应用程序类型。 - 添加SWFLoader组件:由于聊天室可能包含多个功能模块,我们可以通过SWFLoader组件加载...
SWFLoader是Adobe Flex框架中的一个组件,用于加载和显示SWF(Shockwave Flash)文件。SWF格式通常用于创建交互式网页内容,如动画、游戏或富媒体应用程序。SWFLoader使得在运行时能够动态加载SWF文件,这在内容...
当我们在Flex项目中创建新的ApplicationDomain时,我们实际上是在创建一个新的类加载上下文。这个上下文有自己的命名空间,其中的类与主ApplicationDomain中的类不冲突,即使它们有相同的名称。这对于插件、模块化...
在“tt.rar”这个压缩包中,可能包含了实现上述FTP功能的示例代码、库文件或者一个名为“flex”的项目。这些资源可以帮助开发者了解如何在Flex中集成FTP功能,从而实现文件的上传和显示。 对于文件显示,Flex提供了...
提供的压缩包文件如`SWFLoader.as`可能是一个实现了上述逻辑的AS3类,`main.fla`和`loadswf.fla`可能是包含加载和被加载SWF的Flash项目文件,而`loadswf.swf`和`main.swf`则是编译后的SWF文件。通过学习这些示例,你...
在Flex程序中加载另一个Flex程序,被加载的应用程序会经历相同的三个创建阶段,直到加载完毕,主程序才能对其进行有效操作。例如,在`A.mxml`中通过`SWFLoader`组件加载`B.swf`,`B.swf`的`APPLICATION_COMPLETE`...
自定义组件可以通过在Flex项目的MXML文件中引用`<mx:SWFLoader>`或`<s:SWFObject>`标签来加载`searchField.swf`。此外,也可以将AS3代码引入项目,以便在运行时动态实例化组件。 5. **源码分析**: 对于`document...