在代码顶部附近,我看到了类似的东西,
btn_dropdown._visible = false; mcMenuBkg._visible = false;
但是我在库或任何代码中的任何地方都找不到这些资产,这有什么意义?
库中看起来相同的影片剪辑具有不同的名称,我可以将它们完全删除,并且在我编译和运行时它们仍然会显示出来,或者我可以将跟踪语句添加到它们的代码中并且它们永远不会被调用。
这些资产到底是在哪里定义的?
在代码顶部附近,我看到了类似的东西,
btn_dropdown._visible = false; mcMenuBkg._visible = false;
但是我在库或任何代码中的任何地方都找不到这些资产,这有什么意义?
库中看起来相同的影片剪辑具有不同的名称,我可以将它们完全删除,并且在我编译和运行时它们仍然会显示出来,或者我可以将跟踪语句添加到它们的代码中并且它们永远不会被调用。
这些资产到底是在哪里定义的?
理论上,您在运行时看到的任何剪辑都可以通过创建一个空的 MC 并使用绘图 API 绘制您喜欢的任何内容来动态创建。但是,如果您在库中看到与运行时显示的内容相似的剪辑,那么这种情况不太可能发生。
您的第一步可能应该是再次浏览库。请记住,实例名称不必与 MC 名称相同;即使库中的某些东西被称为“菜单持有者”,也可能在某个地方有一个名为“mcMenuBkg”或其他名称的实例。但是你可以在不改变输出的情况下删除东西的事实是神秘的。
因此,还有其他可能性:内容正在外部加载,或通过运行时共享导入。如果可行,请尝试将您的 SWF 移动到临时目录并从那里运行它;这应该会破坏所有负载(除非内容是从远程 URL 加载的)。
或者,您正在查看库中的错误剪辑。如果这是一个粗鲁的项目,那里可能会有未使用的东西。尝试将库扩展得足够宽以查看“使用计数”列,然后从库菜单中选择“更新使用计数”。任何计数为 1 或更高的内容都是您的 FLA 舞台内容的一部分——它要么位于主舞台上,要么是某个东西的子级。使用计数为 0 的剪辑如果具有链接 ID,则仍可使用;它们可以在运行时使用attachMovie()
. 但是,对于使用计数为 0 且没有链接 ID 的任何剪辑,可以安全地假设它未使用,并且与运行时发生的情况无关。
如果这些都没有帮助,唯一能想到的就是健全性检查……打开舞台上的所有东西和每个带有链接 ID 的剪辑,并检查空/不可见的 MC。检查电影的导出设置,以确保您检查的 SWF 与正在发布的 SWF 相同。只是为了笑,打开“场景”面板并确保某些恶魔没有将重要内容放在没有理智的人会寻找的单独场景中。
模糊问题的模糊答案。:D 希望对你有帮助...
您可以使用代码动态创建影片剪辑。
这意味着如果您无法找到它们,您的资产中可能没有它们。
您可以仅使用 actionscript 凭空使用构造函数创建任何类型的符号。
我会搜索其中之一的代码
var mybutton:SimpleButton=new SimpleButton();
如果他们被设置为
_visible = false
无论如何您都不会看到它们 - 由于 ActionScript 1/2 不进行运行时错误报告,因此如果它们实际上不在舞台上,Flash 播放器将不会抱怨。如果它们没有被使用,只需删除它们。