【问题标题】:Error 1009 after gotoAndStop - stage instance never gets addedgotoAndStop 后出现错误 1009 - 永远不会添加阶段实例
【发布时间】:2011-02-27 23:19:37
【问题描述】:

我已经在论坛上搜索了几个小时(几天?)来搜索 1009 错误,但我仍然对此感到困惑。它看起来很神秘,如果您有任何想法,我会很乐意提供帮助。

我有一个 7 帧长的 .swf - 每个帧代表一个不同的“页面”,您可以通过右上角的菜单小部件切换页面。菜单小部件调用 gotoAndPlay("frame")。

一切正常,除非我从一个特定的帧切换到另一个。然后,在新框架的初始化过程中(在各种项目上设置一些可见属性,在 actionscript 中),我在特定阶段实例(动态文本实例 i_word)上收到可怕的 1009 错误。

这是我迄今为止尝试过的:

  • 确保新框架的动作脚本在开始初始化之前以 stop() 语句开头 - 没有骰子
  • 尝试将 i_word 更改为 movie_clip 而不是动态文本,确保已将其导出为 actionscript - 没有区别。 (我在同一页面上还有 2 个其他动态文本实例似乎不会导致问题)
  • 在加载新帧时添加了一个 ENTER_FRAME 侦听器,以防问题是时间问题。在继续初始化之前放入一个大的 if 语句检查 i_word 和其他实例是否不为空。它永远不会进入 if,因为 i_word 永远不会被添加。我为所有为空的实例添加了跟踪语句,它是唯一的。如果我在我的动作脚本中删除所有对 i_word 的引用,那么其他所有内容都不为空,并且事情会继续进行。在这种情况下,i_word 的文本甚至会显示在屏幕上。
  • 尝试重命名 i_word - 没有骰子
  • 尝试删除 i_word 所在的图层并添加新图层 - 没有骰子

感觉我的 Flash 文件中某处有一个严重的 Gremlin。或者,也许我遗漏了一些明显的东西。如果您有任何想法,请告诉我...我将不胜感激。

谢谢! 埃拉姆达

【问题讨论】:

  • 你能发一些代码吗?没有它,就无法知道你在哪里犯了错误。
  • 是的,你是对的......我会发布一些代码。
  • 文本字段是否存在于两个框架中,还是仅限于您输入的框架?在任何其他帧上是否有另一个名为 i_word 的实例?

标签: flash actionscript


【解决方案1】:

如果您放置了 addEventListener 命令,则需要添加 removeEventListener 命令,这样您就不会收到 1009 错误。 如果文本字段不存在于每一帧上,请确保删除随之而来的事件。 示例:

    addEventListener(Event.ENTER_FRAME, hi);
function hi(Event:EVENT):void;
 {
datextfield.dosomething
}

然后

removeEventListener(Event.ENTER_FRAME, hi);

如果这没有帮助,您介意发布代码吗?

【讨论】:

    猜你喜欢
    • 2019-04-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-01-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多