访问加载的 .swf 文件中的函数?

2024-03-31

有没有办法在加载的 SWF 文件中调用函数?

基本上,我有一个 .swf 文件 (A),它加载另一个 .swf 文件 (B)...我只想将 B 视为添加到我的类 .swf“A”中的任何其他实例...


必须使用 .swf 文件类的名称重新命名“Loader”:

加载的 .swf 类:

package src {
import flash.display.MovieClip;

public class LoadedSWF extends MovieClip     {
    public function LoadedSWF() {
    }

    public function helloWorld():void
    {
        trace("hello world from loaded swf!");
    }
}
}

主要类别:

package src {
import flash.display.Loader;
import flash.net.URLRequest;
import flash.display.MovieClip;
import flash.events.Event;

public class Main extends MovieClip {

    private var loader:Loader;

    public function Main() {
        loadSWF("LoadedSWF.swf")
    }

    private function loadSWF(url:String):void {
        var urlRequest:URLRequest = new URLRequest(url);
        loader = new Loader();
        loader.contentLoaderInfo.addEventListener(Event.COMPLETE, onLoaded, false, 0, true);
        loader.load(urlRequest);
        addChild(loader);

    }

    private function onLoaded(e:Event):void {
        var target:LoadedSWF = e.currentTarget.loader.content as LoadedSWF;
        trace(target);
        target.helloWorld();

        addChild(target);
    }
}

}


有两种情况,即

  1. 子 swf(B) 调用父 swf(A) 的函数或
  2. 父 swf(A) 调用加载的 swf(B) 的函数

首先,在这两种情况下,您必须确保已加载 swf(B) 并使用以下命令将其添加到 Loader swf(A)Event.COMPLETE。这样两个swf之间的通信就可以了。加载的 swf 就像任何其他子文件一样。

这是案例 2 的示例代码

var mLoader:Loader = new Loader();
mLoader.contentLoaderInfo.addEventListener(Event.COMPLETE, onCompleteHandler);
mLoader.load(new URLRequest("B.swf"));

public function onCompleteHandler(evt:Event)
{
    var embedSWF:MovieClip = MovieClip(evt.target.content);
    addChild(embedSWF);
    embedSWF.function_OF_B();
}

embedSWF.function_OF_B()语句将调用子 swf B 的函数,即function_OF_B()

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

访问加载的 .swf 文件中的函数? 的相关文章

  • jQuery,仅当页面加载时间超过2秒时才显示加载页面div

    这是我的第一个问题 所以希望我能提供足够的细节 我在网站的 4 个页面中有以下代码 document ready function page loading slideDown 500 jQuery window load function
  • Shape、Sprite、MovieClip 和其他显示对象:何时使用?

    有大量的显示对象flash display包裹 我不清楚在什么情况下应该使用Shape Sprite or MovieClip 使用它们各自的优点和缺点是什么 先感谢您 Shape http help adobe com en US Fla
  • 如何更改图像中的像素

    我实际上尝试执行以下操作 我已在 bitmapdata 对象中加载了外部图像 并从中创建了一个位图 我将其附加到 sprite MovieClip 以便在其上包含鼠标事件 现在 根据前面的逻辑 我加载了两个相同大小的图像 比方说圆圈 其中一
  • URLLoader 数据到 BitmapData

    我正在尝试加载 SWF 文件旁边的图像文件 像这样的东西 var loader URLLoader new URLLoader loader dataFormat URLLoaderDataFormat BINARY loader addE
  • Flex、AIR:在指定文件夹中搜索 .pdf 文件

    我需要 ActionScriot 代码来解析给定文件夹并在其中搜索 txt 文件 任何链接或代码示例都会有所帮助 Adobe Flex 3 3 AIR 谢谢 斯里 There var docs File File documentsDire
  • 游戏开发者的 Flash 性能:本机渲染 VS BitmapData 帧缓冲区

    我开发了一款 2D 射击游戏很多物体 and 激进的滚动 问题 哪种方式更好 选择 1 使用原生 Flash 渲染 从 Bitmap 派生游戏对象 使用现有的 x y 宽度 高度 bitmapData 将所有对象添加为子 UI Compon
  • 将过滤器应用于 AS3 中的所有内容

    我正在尝试在 AS3 Flex SDK 中添加过滤器 我可以为任何一个对象添加一个过滤器 但我想将过滤器应用到一切那是某个对象的子对象 假设弹出一个暂停窗口 暂停窗口下方的所有内容都会变得模糊 将过滤器应用于每个单独的对象 例如 迭代列表
  • Flash AS3 - 如何访问其他帧(也称为非一帧)中的显示对象

    只要该子项位于第一帧中 getChildByName name 就会起作用 其他框架中的显示对象还没有被实例化 所以并不是说不能访问它们 它们不存在可供访问的地方 当播放头进入具有特定对象的关键帧时 会创建该对象并将其添加到舞台中 当播放头
  • 有没有办法覆盖动作脚本运算符,特别是我想覆盖等于运算符

    是否可以覆盖 equals 运算符 即 对于可以通过 2 个或更多字段匹配来确定相等性的客户类别 如果您的意思是重载 作为 equals 的同义词 那么您不能 因为 ActionScript 不提供运算符重载 只需为您的类编写一个 equa
  • 需要澄清应用程序域

    我需要对这个主题进行一些澄清 因为我刚刚遇到将 swf 加载到重用加载器对象中的问题 假设我有 3 个 SWF 主文件 swfchildA swfchildB swf Main swf 中有一个可重用的加载程序对象 myloader loa
  • as3命名空间-获取一个带有减号的属性[重复]

    这个问题在这里已经有答案了 可能的重复 e4x as3 如何访问名称中带有破折号的节点 https stackoverflow com questions 5317404 e4x as3 how to access a node with
  • ActionScript 3.0 中缺少运算符重载

    我在 ActionScript 中最怀念的事情之一是缺少运算符重载 特别是 我通过在我的类中添加 Compare 方法来解决这个问题 但这在很多情况下没有帮助 比如当你想使用内置字典之类的东西时 有没有好的方法来解决这个问题 Nope 但添
  • 用圆形减去(遮盖掉?)路径

    我正在使用 Spark Path 在 Flex 中绘制一条路径 我想从这条路径中减去一个圆形 如下图所示 道路又黑又宽 有任何想法吗 我尝试使用 Shape 对象创建蒙版 但无法完全创建其中有圆孔的蒙版 找到了 不涉及口罩 我拿了Path并
  • 将应用程序状态保存在磁盘或其他位置,以便用户稍后访问它

    In 弹性构建器 4 5我正在做一个像这样的项目cacoo http www cacoo com 我想保存diagrams display object ui components text 在将应用程序关闭到应用程序之后我无法访问的某个地
  • Actionscript 对象的属性数量

    如何获取通用 Actionscript 对象中的属性数量 如数组长度 您必须循环所有元素才能对它们进行计数 function objectLength myObject Object int var cnt int 0 for var s
  • 如何在as3中不询问的情况下写入外部文件

    我有这个代码 var fileRef FileReference new FileReference fileRef save ciao coso lingua txt 在现有的 lingua txt 文件上写入 该脚本有效 但每次他保存时
  • 更改由 AS3 添加到舞台的影片剪辑中的动态文本字段不起作用?

    当我更改动态文本字段的文本值时 文本字段只是变为空白 而不显示新值 我有一个名为 game board 的 MovieClip 由 AS3 动态添加到舞台上 舞台一开始是空白的 我有另一个名为 stage 2 的 MovieClip 它作为
  • 将数组从 Flash (AS3) 发送到 JavaScript

    是否可以使用ExternalInterface 调用将数组从Flash AS3 发送到JavaScript 我目前正在 Flash 内的 foreach 循环中多次调用一个函数 但速度太快 JavaScript 无法跟上 我的想法是创建一个
  • 使用ExternalInterface和IE从JavaScript获取Flash中的当前URL

    我正在尝试获取 Flash 播放器当前所在的 URL 不是 swf 文件的 URL 而是浏览器指向的 URL 到目前为止我已经使用过 var st String ExternalInterface call window location
  • Youtube as3 API 似乎不再起作用

    我正在使用 as3 Youtube 官方 API 我需要在 swf 文件中加载 API 播放器 我已经在几个项目上完成了 一切都很好 但几个小时后 我的所有项目现在都坏了 这是崩溃的代码片段 Security allowDomain www

随机推荐