actionscript - swf 中使用的神秘 Assets ,在 fla 中找不到?

标签 actionscript flash fla

在代码顶部附近我看到类似的内容,

btn_dropdown._visible = false; mcMenuBkg._visible = false;

但是我在库中或任何代码中都找不到这些资源,这有什么意义?

库中看起来相同的影片剪辑具有不同的名称,我可以将它们完全删除,但在编译和运行时它们仍然会出现,或者我可以将跟踪语句添加到它们的代码中,但它们永远不会被调用。

这些 Assets 到底是在哪里定义的?

最佳答案

理论上,您在运行时看到的任何剪辑都可以动态创建,方法是创建一个空 MC 并使用绘图 API 绘制您喜欢的任何内容。但是,如果您在库中看到与运行时显示的剪辑相似的剪辑,那么这种情况发生的可能性很小。

您的第一步可能应该是再次浏览该库。请记住,实例名称不必与 MC 名称相同;即使库中的某个东西被称为“Menu Holder”,也可能在某个地方有一个名为“mcMenuBkg”或其他名称的实例。但您可以在不更改输出的情况下删除内容这一事实很神秘。

因此,还有其他可能性:内容正在外部加载,或通过运行时共享导入。如果可行,请尝试将 SWF 移动到临时目录并从那里运行它;这应该会破坏所有加载(除非内容是从远程 URL 加载的)。

或者,您在库中查看了错误的剪辑。如果这是一个粗糙的项目,里面可能有未使用的东西。尝试将库展开得足够宽以查看“使用计数”列,然后从库菜单中选择“更新使用计数”。任何计数为 1 或更高的内容都是 FLA 舞台内容的一部分 - 要么它位于主舞台上,要么是该内容的子级。使用计数为 0 的剪辑如果具有链接 ID,则仍可使用;它们可以在运行时使用 attachMovie() 创建。但是,对于任何使用计数为 0 并且没有链接 id 的剪辑,可以安全地假设它未使用,并且与运行时发生的情况无关。

如果这些都没有帮助,唯一想到的就是健全性检查...打开舞台上的所有内容和带有链接 ID 的每个剪辑,并检查是否有空/不可见的 MC。检查影片的导出设置,以绝对确保您正在检查的 SWF 与正在发布的 SWF 相同。为了开怀大笑,请打开“场景”面板,并确保某些恶魔没有将重要内容放在任何理智的人都不会寻找的单独场景中。

对一个模糊问题的模糊回答。 :D 希望它有帮助...

关于actionscript - swf 中使用的神秘 Assets ,在 fla 中找不到?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/230230/

相关文章:

linux - 在 IntelliJ IDEA 13.x 中编译 Flash 时出错

exe - 我如何将fla转换为exe?

Javascript 到闪存通信

actionscript - 现有的 swf mp4 播放器?

apache-flex - Flex数据网格: Programmatically Highlighting Rows

audio - 如何在 AS3 中将声音对象提取到单字节数组

javascript - 在 "swf"""中播放/显示 "a rel="

actionscript-3 - 错误1180,闪存