1

我正在使用 flash air 3.8 版为 iOs 开发应用程序,此版本允许我加载带有资产、flash 专业 cs6 和 flash builder 4.7 的外部 swf

我有某种大厅,用户可以在其中选择不同的游戏。如果我仅使用 1 个游戏(1 个 swf)部署应用程序,我会毫无问题地加载游戏

但是,如果我将应用程序与其他游戏一起部署,我只会加载其中 1 个 swf,但其他游戏给了我这个错误:

错误 #2007:多个 swf 中的参数可能符号冲突,abc env 必须为非空

我的代码中不存在参数 abcenv。

提前致谢

4

3 回答 3

0

我遇到了这个错误,今天解决了。谷歌之后,我发现没有任何帮助。现在,也许我是唯一一个轻松解决问题的人。这是我的故事:

  1. 从事 AIR actionscript 移动项目。
  2. 在 iOS 的 ad-hoc 包中,成功加载了多个 SWF 文件,两个除外。这两个导致“错误#2007:参数可能的符号冲突......”错误。
  3. 发现正常的SWF和错误的SWF有一个很小的区别:在错误的SWF中,一个MovieClip是3D转换的,我看到MovieClip上面有3个3D轴。然后我从舞台和库中删除了 MovieClip 并替换为新的。问题解决了。
  4. 请注意,我没有重命名任何东西,也没有删除任何重复的东西。事实上,SWF 文件中有很多重复的东西(同名的图像文件,以及在 SWF 之间复制的 MovieClip)。
于 2013-11-22T05:21:22.137 回答
0

我遇到了同样的问题。问题是 AIR for iOS 必须将所有外部 .swfs 一起编译,因此如果存在命名冲突,可能会造成麻烦。如果两个或多个 .swf 是由同一个克隆的 .fla 创建的,即使其中一个文件对其进行了更改,这似乎尤其是一个问题。

就我而言,事实证明,要加载的 .swfs 文件夹中有几个未使用的早期版本的 .swfs(例如 external_movie-prev.swf)。只需删除这些额外的文件,我就可以很容易地解决问题。

这是开发中的常用技术,只是重命名文件的先前版本并将新版本添加到文件夹中进行测试。在正常的软件开发中,这些无关的版本没有害处。但在 AIR for iOS 的情况下,当您尝试播放资源文件夹中也有未使用的先前版本的电影时,这种情况可能会导致您的应用程序莫名其妙地死机。这花了我几个小时来追查,所以我希望它可以帮助别人。

于 2014-02-19T04:33:46.440 回答
0

我发现 AIR 3.9 也会出现完全相同的问题。您只能通过将游戏逻辑嵌入主菜单并根据需要构建类来做到这一点。我知道这会让你的菜单的开头部分变得更重。

但是,如果需要,您可以将 swfs 作为库资源加载。我认为该错误与 swfs 和重叠类的限制以及您只能使用一个应用程序域这一事实有关。但这是我对这个潜在限制的最佳猜测。如果您确实找到了解决方法,请告诉我们。

于 2013-09-18T01:36:07.910 回答