Actionscript swf中使用的神秘资产,在佛罗里达州的任何地方都找不到?

Actionscript swf中使用的神秘资产,在佛罗里达州的任何地方都找不到?,actionscript,flash,fla,Actionscript,Flash,Fla,在代码的顶部,我看到了如下内容: btn_下拉列表。_可见=假; mcMenuBkg._visible=false 但我在库中或任何代码中都找不到这些资产,这有什么意义 库中看起来相同的电影片段有不同的名称,我可以完全删除它们,它们在编译和运行时仍会显示出来,或者我可以将跟踪语句添加到它们的代码中,它们永远不会被调用 这些资产究竟是在哪里定义的?您可以使用代码动态创建电影剪辑 这意味着,如果您无法找到它们,您的资产中可能没有它们 您可以使用构造函数凭空创建任何类型的符号,只需使用actionsc

在代码的顶部,我看到了如下内容:

btn_下拉列表。_可见=假; mcMenuBkg._visible=false

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

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


这些资产究竟是在哪里定义的?

您可以使用代码动态创建电影剪辑

这意味着,如果您无法找到它们,您的资产中可能没有它们

您可以使用构造函数凭空创建任何类型的符号,只需使用actionscript即可

我会在代码中搜索其中一个

var mybutton:SimpleButton=new SimpleButton();

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

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

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

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

如果这些都没有帮助的话,我唯一想到的就是精神检查。。。打开舞台上的所有东西和带有悬挂机构id的每个剪辑,并检查是否有空的/不可见的MCs。检查电影的导出设置,以确保您正在检查的SWF与正在发布的SWF完全相同。为了让大家开怀大笑,打开“场景”面板,确保某个恶魔没有把重要内容放在一个单独的场景中,任何理智的人都不会去寻找


模糊问题的模糊答案如果他们被设置为

_visible = false

无论如何,你都看不到它们——由于ActionScript1/2不做运行时错误报告,Flash播放器不会抱怨它们实际上不在舞台上。如果它们没有被使用,只需删除它们。

这与Ryan使用AS2时的AS3相似