`
izuoyan
  • 浏览: 9473881 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

使用loader加载swf

阅读更多

使用loader加载swf的时候会遇到很多的问题,但是采用下面的方法进行加载去没有问题,首先是使用URLLoader加载swf文件成为ByteArray数据,然后再使用Loader加载ByteArray获得swf文件,下面的是测试的代码:


package
{
import flash.display.Loader;
import flash.display.MovieClip;
import flash.display.Sprite;
import flash.display.StageAlign;
import flash.display.StageScaleMode;
import flash.events.Event;
import flash.events.EventPhase;
import flash.events.MouseEvent;
import flash.net.URLLoader;
import flash.net.URLLoaderDataFormat;
import flash.net.URLRequest;

public class LoadSwf extends Sprite
{
private var name_array:Array=["swf/a.swf","swf/b.swf","swf/c.swf","swf/d.swf"];//保存SWF名的数组
private var p:uint =new uint;//记住当前播放的是数组中的第几个SWF(指针从0开始)
private var play_mc:MovieClip =new MovieClip;//当前播放的SWF
private var swf_loader:Loader=new Loader;
private var swf_urlloader:URLLoader =new URLLoader;
private var swf_urlrequest:URLRequest =new URLRequest;

public function LoadSwf()
{
stage.align = StageAlign.TOP_LEFT;
stage.scaleMode = StageScaleMode.NO_SCALE;

init();
}

private function init():void
{
swf_urlloader.dataFormat =URLLoaderDataFormat.BINARY ;

play_mc.x = 0;
play_mc.y = 50;
addChild(play_mc);

swfLoad();
}

private function swfLoad():void
{
p=p<0?(name_array.length -1):p%=name_array.length ;
try {
swf_urlrequest.url =name_array[p];
swf_urlloader.load(swf_urlrequest);
swf_urlloader.addEventListener(Event.COMPLETE ,binaryLoadComplete);

trace("loader : "+name_array[p]);
} catch (_err:Error) {
trace(_err);
}
}

private function binaryLoadComplete(_evt:Event):void
{
//swf_loader=new Loader;
swf_loader.loadBytes(_evt.target.data);
swf_loader.contentLoaderInfo.addEventListener(Event.COMPLETE ,swfLoadComplete);
}

//------------------------加载完成------------------------
private function swfLoadComplete(_evt:Event):void
{
removeChild(play_mc);
play_mc=_evt.target.loader.content as MovieClip;
play_mc.addEventListener(Event.ENTER_FRAME,onMcEnterFrame);
swf_loader.unload ();
addChild(play_mc);
}

//-----------------------检测是否播放到最后一帧---------------
private function onMcEnterFrame(_evt:Event):void
{
var _mc:MovieClip=_evt.target as MovieClip;
if (_mc.currentFrame ==_mc.totalFrames ) {
_mc.removeEventListener(Event.ENTER_FRAME,onMcEnterFrame);
p++;
swfLoad();
}
trace("当前播放的是:"+name_array[p]+" ( "+_mc.currentFrame +"/"+_mc.totalFrames +")");
}
}
}

分享到:
评论

相关推荐

    FLASH Loader 加载外包文件

    本文将深入探讨"FLASH Loader加载外包文件"这一主题,以及如何利用Loader类来实现加载外部SWF文件的功能。 一、Loader类简介 Loader类是Flash Player和Air环境中提供的,它负责处理内容的加载和显示。通过创建...

    用AS3加载外部SWF文件

    在本文中,我们将深入探讨如何使用ActionScript 3.0(AS3)加载外部的SWF文件。在Adobe Flash CS4环境中,加载外部SWF文件是实现动态内容和交互性的重要手段,允许开发者将不同部分的项目组合在一起,或者根据需要...

    flex调用swf——swf可以转成具体的对象,而非MovieClip

    2. **加载时指定类名**:在使用Loader加载SWF时,通过设置LoaderContext的applicationDomain属性,我们可以告诉Loader如何查找并实例化SWF中的特定类。例如,如果我们知道SWF中有一个名为"MyComponent"的类,我们...

    外部加载swf+控制

    总结,"外部加载swf+控制"涉及到的技术包括使用ActionScript的Loader类加载外部SWF文件,通过Loader对象进行交互,监听加载事件以及处理安全和性能问题。随着技术的进步,虽然这种方法可能不再是首选,但对于维护和...

    AS3编写的加载/卸载外部SWF文件

    用AS3编写,点击不同的按钮加载不同的外部SWF文件,显示在固定尺寸的舞台上,同一时该只能加载一个外部文件,自动调整被加载文件的尺寸以适应容器大小。昨天上传那个不知道为什么见不到,再次上传并添加了部分容错...

    AS3预加载SWF实例源码

    2. **Loader类**:`flash.display.Loader`是负责加载SWF、图片、XML等资源的关键类。通过创建一个Loader对象,然后调用它的`load()`方法,你可以指定要加载的URL或FileReference。 3. **内容大小估计**:为了显示...

    Flash课件制作教程-加载SWF文件

    本教程将重点讲解如何在Flash中加载SWF文件,这是一项关键的技术,能够帮助开发者实现课件之间的交互性和资源共享。下面将详细阐述这一过程。 首先,SWF全称为"Small Web Format",是Adobe Flash的文件格式,用于在...

    第十一节 Loader加载类.docx

    Loader类属于Flash的display包,它允许开发者动态加载SWF、JPEG、PNG或GIF等不同类型的文件,增强了应用程序的灵活性和交互性。 首先,Loader类的基本用法是创建一个Loader实例,然后使用load方法加载指定的资源。...

    单个SWF文件loading加载详解

    在AS3中,加载SWF的主要工具是`flash.display.Loader`类。这个类提供了加载各种类型内容的能力,包括SWF文件。使用Loader类,我们首先需要创建一个Loader对象,然后调用它的`load()`方法指定要加载的SWF文件路径。 ...

    Loader动态加载图片

    在ActionScript 3 (AS3)中,Loader 类是用于加载不同类型的媒体资源,包括图像(如PNG)、SWF、视频等的关键工具。本知识点主要围绕如何使用Loader 类动态加载PNG图片进行详细讲解。 首先,我们需要理解Loader 类的...

    flash加载多个SWF

    在Flash中,我们可以使用`Loader`类来加载SWF文件。`Loader`类是ActionScript 3.0中的一个关键组件,它允许我们加载各种类型的内容,包括图像、SWF文件、视频等。为了加载SWF,我们需要创建一个`Loader`对象,然后...

    flash builder 4.7加载外部swf文件

    以下是一个基本的示例代码,展示了如何在AS3中加载SWF: ```actionscript import flash.display.Loader; import flash.events.Event; var loader:Loader = new Loader(); loader.contentLoaderInfo....

    flex加载资源_loader类使用实例

    1. 动态加载SWF模块,实现程序的模块化设计。 2. 实时更新内容,如在线更换广告或用户头像。 3. 加载远程数据并转换为显示对象,如XML数据加载后解析为SpriteSheet。 总结,Loader类是Flex和ActionScript 3中不可或...

    flash as3 加载外部swf jpg gif png loader urlloader的通用代码

    通过以上介绍,我们可以了解到如何在Flash AS3中使用Loader 和 URLLoader 类来加载外部SWF、JPG、GIF 和 PNG 文件的方法。这对于制作复杂的Flash应用和游戏来说是非常有用的技能。掌握了这些知识点后,开发者就能够...

    加载外部swf

    以下是一个基本的加载SWF文件的步骤: 1. **创建Loader对象**:首先,你需要创建一个`Loader`对象,它是负责加载内容的容器。 ```as3 var loader:Loader = new Loader(); ``` 2. **添加事件监听器**:在加载过程中...

    AS3.0 进度条控制加载的swf

    在AS3.0中,我们通常使用`Loader`类来加载SWF或其他类型的媒体文件。`Loader`对象具有`contentLoaderInfo`属性,这是一个`LoaderInfo`对象,提供了关于加载进度的详细信息。我们可以监听`progress`事件来获取加载...

    swf预加载类

    2. **Loader类**:AS3的`flash.display.Loader`类用于加载SWF或其他类型的内容。预加载类会创建一个Loader实例,然后调用其`load()`方法开始加载主SWF。 3. **ProgressEvent.PROGRESS**:此事件在加载过程中频繁...

    AS加载一外部SWF调用该swf内部方法

    AS加载一外部SWF调用该swf内部方法,一个Flash中通过AS3代码的Loader对象加载另一个SWF文件,并访问其中的文档类中的方法。 简单示例: 主文件:Main.fla, Main.as 被调用的文件:called.swf, Called.as

    加载loader (How to Load External Images in Actionscript 3.0)

    本篇文章将深入探讨如何在ActionScript 3.0中加载外部图像,即Loader类的使用。 1. **Loader类**:Loader类是ActionScript 3.0中的核心组件,它负责加载各种类型的内容,包括位图(如JPEG、PNG等)、SWF文件以及XML...

    swf-loader:用于 Webpack 的 SWF 加载器

    `swf-loader`是专为Webpack设计的加载器,它的主要任务是将SWF文件转换为可以在浏览器环境中运行的资源。通过这个加载器,开发者可以将SWF文件纳入到Webpack的构建流程中,使得它们能够与其他JavaScript模块无缝结合...

Global site tag (gtag.js) - Google Analytics