需要为直播播放器做几个新的样式,想将每个样式的布局XML和图片放到对应的swf中。
先用Flex 创建AS项目,主文件为:TestAssets.as
package { import flash.display.Sprite; public class TestAssets extends Sprite { public function TestAssets() { } [Embed(source="/assets/images/volume_back.png")] public static var test1:Class; } }
在Flash中新建项目:test.fla,导入一个图片到库中,拖到舞台,然后F8,创建影片剪辑,将该影片剪辑的AS链接起名为testClass。
因为还想要打包进去一个XML,于是创建一个空元件,将其AS链接起名为ClassA,并创建ClassA.as:
package { import flash.display.MovieClip; public class ClassA extends MovieClip { public function ClassA() { // constructor code } public static var theXML:XML = <root><item title="title123"><name>Jason</name></item></root>; public var theVar:String = "variable" + new Date().time; } }
Flex代码:
<?xml version="1.0" encoding="utf-8"?> <s:Application xmlns:fx="http://ns.adobe.com/mxml/2009" xmlns:s="library://ns.adobe.com/flex/spark" xmlns:mx="library://ns.adobe.com/flex/mx" minWidth="955" minHeight="600" creationComplete="application1_creationCompleteHandler(event)"> <fx:Script> <![CDATA[ import mx.events.FlexEvent; import spark.components.Image; protected function application1_creationCompleteHandler(event:FlexEvent):void { load1(); load2(); } // load assets from Flex AS project swf. test1 is a static class for image Embed. private function load1():void { var loader:Loader = new Loader(); loader.contentLoaderInfo.addEventListener(Event.COMPLETE, function(e:Event):void { trace("completed"); // TestAssets 为Flex AS项目主文件的名称。 var asset:Object = loader.contentLoaderInfo.applicationDomain.getDefinition("TestAssets"); var img:Image = new Image(); img.source = asset.test1; group.addElement(img); }); loader.load(new URLRequest("TestAssets.swf")); } // load assets from Flash project swf. private function load2():void { var loader:Loader = new Loader(); loader.contentLoaderInfo.addEventListener(Event.COMPLETE, function(e:Event):void { trace("completed"); // "testClass" 为某个图片元件的AS链接。 var asset:Object = loader.contentLoaderInfo.applicationDomain.getDefinition("testClass"); var img:Image = new Image(); img.source = new asset(); group.addElement(img); // ClassA 为空元件的AS链接。 var cla:Object = loader.contentLoaderInfo.applicationDomain.getDefinition("ClassA"); // var cla1:Object = loader.contentLoaderInfo.applicationDomain.getDefinition("test"); trace(cla.theXML); var claInstance:Object = new cla(); trace(claInstance.theVar); }); loader.load(new URLRequest("test.swf")); } ]]> </fx:Script> <fx:Declarations> <!-- 将非可视元素(例如服务、值对象)放在此处 --> </fx:Declarations> <s:VGroup id="group"> </s:VGroup> </s:Application>
debug模式运行:
<root>
<item title="title123">
<name>Jason</name>
</item>
</root>
variable1386586432855
相关推荐
4. **发布设置**:在Flash或Flex的发布设置中,可以选择优化、压缩和排除未使用的资源等选项来减小SWF体积。例如,开启ActionScript优化和使用压缩SWF功能。 5. **使用AJSPlayer**:提到的AJSPlayer可能是一个第三...
// SWF加载完成后的处理 var loadedSWF:MovieClip = Loader(event.target.loader).content as MovieClip; // 在这里可以对加载的SWF进行操作,例如调用其公开的方法或属性 loadedSWF.somePublicMethod(); } ``...
总结,Loader类是Flex和ActionScript 3中不可或缺的组件,它使动态加载资源变得简单。掌握Loader类的使用方法,能够极大地提升Flex应用的交互性和用户体验。在实际开发中,可以根据需求灵活运用Loader类,实现各种...
总之,通过正确的ActionScript编程和项目配置,我们可以将外部SWF资源作为具体对象在Flex应用中使用,从而极大地扩展了我们的功能和灵活性。这在处理第三方组件或者复用已有代码库时尤其有用。为了获取更多具体的...
本示例“flash actionscript3 从1个SWF中加载另1个SWF 按1播放SWF中的一段 按2播放另一段动画.rar”正是展示了如何实现这一特性,主要涉及到以下几个关键知识点: 1. **Loader类**:ActionScript3中的`Loader`类是...
在这个特定的压缩包中,我们关注的是FusionCharts为Flex平台提供的组件,包括SWF和SWC文件。 1. **FusionCharts简介**: FusionCharts是一款JavaScript图表库,支持多种图表类型,如柱状图、饼图、线图、散点图等。...
在本示例中,我们将深入探讨如何在Flex应用中加载和展示由FlashPaper生成的Flash内容。 首先,我们需要理解Flex中的SWFLoader组件。SWFLoader是Flex SDK提供的一种用于加载和显示SWF文件(包括由FlashPaper转换的...
在Flex应用程序开发中,资源管理是一项关键任务,它涉及到如何有效地加载、管理和使用应用程序所需的文本、图像、声音、视频等多种类型的数据。本资料主要聚焦于在Flex中如何嵌入和管理这些资源,以提高应用程序的...
6. **集成到Flex应用**:将自定义预加载器的SWF文件添加到Flex项目的预加载序列中,通常通过修改`-preloader`编译选项。 7. **优化加载效率**:考虑如何优化资源加载,减少用户的等待时间,例如通过压缩图片、合并...
- **实现**:通过定义一个名为`Wrapper`的类,并使用`[Embed]`元数据标签指定要嵌入的皮肤资源(如`flex_skins.swf`中的`RadioButton_upIcon`)。这些资源将在运行时被加载。 2. **第二步:将外壳SWF文件放置在...
这些工具对于Flex开发者来说是宝贵的资源,它们不仅提供了一个学习和实验的平台,还能帮助开发者在实际项目中快速原型化和调试设计。通过深入理解并熟练使用这些辅助工具,开发者可以提高其在Flex开发领域的专业技能...
Flex使用MXML和ActionScript来创建用户界面,编译后的结果就是SWF文件,可以在各种浏览器和操作系统上运行,无需安装额外插件。 `swf-file-format-spec.pdf` 这份文档可能涵盖了以下关键知识点: 1. **文件结构**...
动态加载资源可以显著提高应用程序的性能,减少启动时间和内存消耗。 在 Flex 中,我们可以使用 `Loader` 类来实现图像的动态加载。`Loader` 类是 Flex 的核心组件之一,它负责加载各种类型的媒体,包括图像(Image...
1. **资源加载**:确保正确加载SWF和GIF资源,这可能涉及到URLLoader或BitmapData类的使用。 2. **时间同步**:等待图标动画的播放应与后台处理同步,避免过早或过晚显示。 3. **大小调整**:根据应用的界面尺寸调整...
在Flex开发中,"flex动态添加资源"是一个重要的优化策略,它允许开发者在运行时根据需要动态加载资源,而不是在构建SWF文件时一次性将所有资源嵌入其中。这种技术对于大型应用程序尤其有用,因为它可以显著减小SWF...
- **使用`Loader`类**:通过动态地将SWF文件加载到容器中,可以在运行时根据需要加载不同的资源。 - **组件懒加载**:利用Flex组件的事件机制,在特定条件下触发组件的加载。 - **数据懒加载**:仅在需要显示数据时...
在IT行业中,尤其是在Flash和Flex开发领域,性能优化是一个至关重要的议题。本文将详细探讨“加载SWF性能VS影片剪辑性能”的主题,基于提供的博客链接(https://as3.iteye.com/blog/1454896),我们将深入分析这两种...
Flex加载资源时需要考虑安全策略。Flash Player使用沙箱模型来限制不同域之间的交互。在创建自定义加载器时,要确保遵守这些规则,例如使用`Security.loadPolicyFile()`来允许跨域加载。 4. **数据解码与转换** ...