将外部 png 加载到 AS2 swf 中,该 AS2 swf 加载到 AS3 swf 包装器中

2024-03-30

我有一个 Wrapper SWF,可以加载一系列 AS2 电影。每个 AS2 影片都会加载一系列 .png 文件。

AS3_wrapper.swf
 |-> AS2_1.swf
      |-> image_1.png
      |-> image_2.png
 |-> AS2_2.swf
      |-> image_1.png
      |-> image_2.png

在 AS2 内部,我使用以下命令监听 png 的负载onLoadInit并更新我的用户界面。

这对于第一个 AS2 swf 来说效果很好。但是当我加载第二个 AS2 swf 时onLoadInit不会为 png 触发。我的猜测是图像位于缓存或类似的东西中。我在请求末尾放置了一个随机字符串,以尝试避免缓存,但这似乎不起作用。

as2中的代码大致如下:

var flagLoader:MovieClipLoader = new MovieClipLoader();
var listener:Object = new Object();
listener.onLoadInit = Delegate.create(this, handleImageLoad);
flagLoader.addListener(listener);
var row:MovieClip = frame1["row" + (numLoaded + 1)];
flagLoader.loadClip(predictionData[numLoaded].flag + "?r="+Math.random(), row.flag);

我确保一次只加载一张图像(我读过一些轶事证据,一次加载多个图像可能会混淆MovieClipLoader)。对于第一个 as2 文件,一切都很好。当我加载第二个 as2 文件时handleImageLoad永远不会被叫到。

Update:更令人困惑的是,如果我重新加载第一个 AS2 影片(在第二个 AS2 影片无法加载图像之后),第一个 AS2 影片会再次正常加载图像。

更新2:在尝试从使用 MovieClipLoader 更改为轮询(正如有用的建议)之后,我发现了更多相关的证据。

当我加载第一个 AS2 文件并从顶层剪辑进行跟踪时,它会打印出来_root。加载时第二个 AS2 文件跟踪相同的内容_root。这让我检查他们的名字是否冲突,事实确实如此。两人都有一个孩子,名叫frame。第一个,当我追踪它时,结果是_root.frame正如预期的那样。第二个 AS2 文件跟踪_level0.instance3.instance118.instance111.frame。我猜这与问题有关。

Flash 保持两个文件的 _root 相同,但更改其子文件的位置(对于随后加载的具有相同名称的子文件的文件)。因此,要么 onLoad 转到错误的剪辑,要么有关其加载的事件发生。


每隔 3-4 年我就会遇到一个我认为最终会击垮我的问题......

当我试图找出为什么即使我成功地将 AVM1 电影加载到 AVM2 电影文件中,AVM1 文件也没有按预期运行时,我遇到了这篇文章。

解决了最初无法在 AS2 - AS3 文件之间通信的巨大问题后,当 AVM1 电影似乎总是在开始播放后不久就停止时,我简直不敢相信。

对我来说,MovieClipLoader loadClip() 方法没有触发任何进度或已完成事件,从而导致我的文件完全停止播放,正如你们俩所建议的那样。

您建议在 loadClip 调用之后运行一个间隔来比较加载的字节数与总字节数对我有用。

谢谢谢谢谢谢谢谢谢谢谢谢谢谢! :D

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

将外部 png 加载到 AS2 swf 中,该 AS2 swf 加载到 AS3 swf 包装器中 的相关文章

  • 如何进行 Flex 日期扣除和添加

    在 Flex 中 我试图进行日期扣除和添加 但找不到方法 例如 公共 var dateNow Date new Date 如何获得比现在日期早 3 个月的日期 谢谢 您可以为此使用 Date 构造函数 Date 构造函数的第一个参数采用年份
  • 运行时高压缩的 AS3 视频编码(H.264?)

    我需要在运行时将 AS3 中的视频图像数据 比如说显示对象 压缩为高压缩的字节数组 帧速率只需在 5 左右 但 1024x768 视频需要达到 使用 JPG 或 PNG 编码器可提供更高的 KB s 有没有开源方法可以在运行时对 as3 中
  • AS3 - for (... in ...) 与 for every (... in ...)

    以下代码执行完全相同的操作 之间有区别吗for each and for in var bar Array new Array 1 2 3 for var foo in bar trace foo for each var foo2 in
  • 当一个 SWF 动态加载另一个 SWF 文件时,如何使两个 SWF 文件中使用的 Action Script 3 类解析为同一个类?

    背景 我正在纯 Action Script 3 中开发一个高度模块化的应用程序 我们使用 Flex 4 SDK 来自动化构建 但我们所有的代码必须能够直接在 Flash CS4 Professional 中编译 我们有一个 framewor
  • AS3 内存泄漏示例

    有人可以发布一个 as3 代码的示例 特别是包括事件侦听器 这将是一个可能泄漏内存的简单示例 也希望您能发布所显示问题的解决方案吗 问题是 AS3 事件监听器中内存泄漏的一个简单示例是什么 如何解决它 public class MySpri
  • 具有轴和角度的 3D 旋转

    我知道 3D 旋转在 SO 和许多其他网站上都有详细记录 但尽管阅读了无数的解释 我仍然没有弄清楚我哪里出错了 我的背景是艺术和设计 而不是数学和编程 而且我从来都不确定我的攻击角度 没有双关语 是否正确 我没有粘贴我那令人沮丧的代码的拼凑
  • 用于商业 Web 应用程序的 Flash - 为什么不呢?

    我从事开发商业网络应用程序的行业 它们大多供内部使用 有时有合作伙伴区域 但很少可供公共互联网使用 它们是帮助公司运营业务的应用程序 一段时间以来 我有一个想法困扰着我 为什么不使用 Flash 到现在为止都是ASP NET AJAX 这还
  • 将图像缩略图上传到服务器,而不上传整个图像

    据我所知 我在这里问的是不可能的 但我想无论如何我都会问 以防我遗漏了什么 假设您想让用户上传 JPG 图像 并且这些图像被缩放为较小的图标 并且原始图像始终被丢弃并且不再需要 有没有什么方法可以在大多数现代浏览器中普遍使用 让用户选择硬盘
  • 自定义上下文菜单未显示,因为显示对象位于“顶部”

    作为这里另一个问题的后续 我已经在 Flash 应用程序中构建了一个自定义上下文菜单项 但遇到了有时不显示的问题 我发现问题是另一个精灵位于带有自定义上下文菜单的项目的 顶部 然而 即使将 mouseEnabled 和 mouseChild
  • as3 - 如何停止视频并分离 NetStream

    我有来自服务器的视频流 稍后我想并排添加另一个视频 那就好 我做到了 现在当我想删除视频时我的问题来了 我设法将其从显示中删除 但我可以听到视频仍在后台播放 那么我怎样才能停止播放该视频呢 这是我设置视频的代码 ns new NetStre
  • Flash AS3 -domain.com/crossdomain.xml 和安全错误

    在代码中 我在 URLLoader 之前使用它 swf 将与许多不同的域一起使用 并且这将及时更改 Security allowDomain In http domain com crossdomain xml http domain co
  • 在浏览器中创建 bash shell 的可行性如何?

    主要是 我是 Unix 机器上的 C C 程序员 但是我会因为基于浏览器的 shell 访问 Linux 机器而放弃 所以 问题是 这有多难 什么方法最适合在网页中构建真正的 shell 级访问 闪光 JavaScript 我知道这确实是所
  • Actionscript 3:使用字符串中的名称播放库中的声音

    我正在尝试编写一些 actionscript 3 代码来播放库中的短声音 使用动态创建的字符串来加载它 在 AS2 中 我可以这样做 mySound new Sound mySound attachSound any concatenate
  • 如何在 ItemRenderer 内使用数据网格范围外的变量?

    我使用将项目数组绑定到数据网格ItemRenderer 我用data变量来控制可绑定数据 我也有someComponentVariable需要插入到每一行中 但它是在组件范围内声明的 因此数据网格似乎无法重新识别它 编译错误 我如何使用这个
  • 从相机录制视频、叠加位图、添加音频、保存到设备,所有这些都在 as3/AIR mobile 中进行

    我的任务是在移动设备上录制来自摄像头的实时视频流 然后覆盖随时间变化的位图 并将音频 mp3 轨道添加到视频文件中 然后将其保存到设备上的某个位置 例如相机胶卷 我看到了一些有用的帖子 主要是这个 AS3 Flash AIR 使用网络摄像头
  • 如何在 Flex/Actionscript 中动态填充进度条?

    我想创建一个进度条 其中的 根据某些变量用不同的颜色填充 例如 33 会用不同的颜色填充进度条的 33 然后 40 会同样填充进度条的 40 在 Actionscript 和 Flex 3 中执行此操作的最佳方法是什么 我过去这样做的方法是
  • 通过Javascript捕获右键单击,无需节点

    当使用英语以外的任何其他语言时 Flash 播放器在 Firefox Chrome 中使用 wmode window 以外的任何内容时都会出现错误 此错误已报告但尚未修复 http bugs adobe com jira browse FP
  • DatagramSocket bind() 和 connect() 区别?

    我读了文档 http help adobe com en US FlashPlatform reference actionscript 3 flash net DatagramSocket html 但尚不清楚两者之间有什么区别bind
  • 创建一定范围内的随机数?

    生成具有范围的随机数的简单方法是什么 这行得通吗 private function randRange minNum Number maxNum Number Number return Math floor Math random max
  • AS3如何在角色死亡动画结束时转到MainTimeline中的下一帧

    所以我需要知道我的角色 鸟 是否用管道 hitTestObject 在动画结束后播放骰子动画 它需要在主时间轴中转到游戏结束帧 if bird hitTestObject pipe1 bird gotoAndStop 3 frame 3 w

随机推荐