在AS3中找到丢失鼠标事件的策略

时间:2016-11-01 04:28:42

标签: actionscript-3 flash

这将简短,我有一个带有单位的游戏地图,并最终确定了一个完全互动的小地图,其中小地图上的单位有翻转/推出的事件监听器(显示一个小的弹出单元数据摘要)并点击(选择)主游戏地图上的"真实"单位并将视点滚动到该位置)。全部完成,测试,工作。

然后,我实现了一个交互式可滚动单元列表,其中包含更多状态摘要数据和数十个具有翻转/转出/单击侦听器的对象。所有测试和工作正常。

然后我回去看看我的小地图,迷你船上的听众不再工作了。事情尝试了:

  1. 调试代码以确保仍然添加侦听器
  2. 调试以观看我删除这些侦听器的位置,以确保意外发生
  3. 调试以查看我刷新该对话框的所有位置,以确保每次迭代都会添加侦听器
  4. 无法看到顶部拦截
  5. 上有透明物体
  6. 检查迷你船的父母,以确保我没有关闭mouseChildren或类似的东西
  7. 没有添加阶段级别的侦听器,事实上我暂时将其全部杀死以测试此
  8. 当我在mini-ship侦听器处理程序上使用断点进行调试时会发生什么事情。它不再接收鼠标事件。因此,我想到的任何一件事都阻止了他们的聆听,或者我不知道的事情正在被拦截。

    那么这里的策略是什么?我怎样才能找到链中断?

1 个答案:

答案 0 :(得分:0)

知道实际问题究竟是什么确实给了我们后见之明的优势......话虽如此,你可以通过在你的函数中添加一个跟踪调用来检测错误,该跟踪调用会添加监听器和你的函数中的另一个它。然后你会看到它没有被重新添加。或者你可以在那里设置断点。