0

我有时间继续在我的 Flash 网站上工作。我已经在 Flash 中构建了整个布局。

我的网站是使用时间线控制脚本 (AS3) 构建的。

因为我不知道怎么做一个滚动画廊(我到处看了还是不明白),我开始在 Activeden 上买了一个,这样我不仅可以使用它,而且可以看到它是如何完成的并从中学习它。但是画廊的 .fla 文件在 AS2 中。.swf 是“独立的”,所以 Actionscript 版本不重要吗?

图库是基于 XML 的。

我使用这个 AS3“加载器”将 .swf 加载到我的 flash 站点中。

var myLoader:Loader = new Loader();
myLoader.contentLoaderInfo.addEventListener(Event.COMPLETE, showMySWF);
function showMySWF(e:Event):void {
 addChild(myLoader);
 myLoader.x=100;
 myLoader.y=150;
 myLoader.contentLoaderInfo.removeEventListener(Event.COMPLETE, showMySWF);
}
myLoader.load(new URLRequest( "xmlgallery.swf" ));

所有图像和资产都与我的 Flash 站点位于同一文件夹中。

但我看到的只是一个空荡荡的画廊

如果我播放 xmlgallery.swf 文件本身,所有图像都在那里,但是当我使用 Loader 将其加载到我的网页中时,所有图像都没有。换句话说,画廊设计本身是完全实用的,但我只是看不到上面的缩略图和图像,除非我测试 xml 画廊自己的独立 swf 文件。当我在加载图库的情况下测试我自己的 Flash 站点时,我看不到任何照片;当我上传到网络服务器时 - 也没有,我尝试了 2 个网络服务器。

最奇怪的是标题和标题/图像描述信息显示,并且该信息位于同一个 XML 文件中。所以我认为闪存在进入这些图像文件夹时存在问题,即使它们都在同一个目录中。

4

1 回答 1

0

加载旧 SWF 文件的注意事项

  • 如果外部 SWF 文件是使用旧版本的 ActionScript 发布的,则需要考虑一些重要的限制。与在 AVM2(ActionScript 虚拟机 2)中运行的 ActionScript 3.0 SWF 文件不同,为 ActionScript 1.0 或 2.0 发布的 SWF 文件在 AVM1(ActionScript 虚拟机 1)中运行。

  • 将 ActionScript 1.0 或 2.0 SWF 文件加载到 ActionScript 3.0 SWF 文件(与加载 ActionScript 3.0 SWF 文件相比)存在重要差异。Flash Player 提供与以前发布的内容的完全向后兼容性。在以前版本的 Flash Player 中运行的任何内容都在支持 ActionScript 3.0 的 Flash Player 版本中运行。但是,以下限制适用:

  • ActionScript 3.0 代码可以加载用 ActionScript 1.0 或 2.0 编写的 SWF 文件。成功加载 ActionScript 1.0 或 2.0 SWF 文件后,加载的对象(Loader.content 属性)是 AVM1Movie 对象。AVM1Movie 实例与 MovieClip 实例不同。它是一个显示对象,但与影片剪辑不同的是,它不包含与时间线相关的方法或属性。父 AVM2 SWF 文件无法访问加载的 AVM1Movie 对象的属性、方法或对象。

  • 用 ActionScript 1.0 或 2.0 编写的 SWF 文件无法加载用 ActionScript 3.0 编写的 SWF 文件。这意味着在 Flash 8 或 Flex Builder 1.5 或更早版本中创作的 SWF 文件无法加载 ActionScript 3.0 SWF 文件。

  • 此规则的唯一例外是,ActionScript 2.0 SWF 文件可以将其自身替换为 ActionScript 3.0 SWF 文件,只要 ActionScript 2.0 SWF 文件之前没有将任何内容加载到其任何级别。ActionScript 2.0 SWF 文件可以通过调用 loadMovieNum() 来执行此操作,将值 0 传递给 level 参数。

  • 通常,如果要与以 ActionScript 3.0 编写的 SWF 文件一起使用,必须迁移以 ActionScript 1.0 或 2.0 编写的 SWF 文件。例如,假设您使用 ActionScript 2.0 创建了一个媒体播放器。媒体播放器加载同样使用 ActionScript 2.0 创建的各种内容。您无法在 ActionScript 3.0 中创建新内容并将其加载到媒体播放器中。您必须将视频播放器迁移到 ActionScript 3.0。

  • 但是,如果您在 ActionScript 3.0 中创建媒体播放器,则该媒体播放器可以执行 ActionScript 2.0 内容的简单加载。

Flash Player 先前版本的限制

于 2013-02-11T22:32:44.557 回答