在 AS3 中查找丢失的鼠标事件的策略
Strategy for finding a missing mouse event in AS3
简单说一下,我有一张带有单位的游戏地图,并且已经完成了一个完全交互式的小地图,其中小地图上的单位有 rollover/rollout 的事件监听器(显示一个小的弹出单元数据摘要)然后单击(选择主游戏地图上的 "real" 单位并将视点滚动到该位置)。全部完成、测试、工作。
然后,我实现了一个交互式可滚动单元列表,其中包含更多状态摘要数据和数十个具有 rollover/rollout/点击侦听器的对象。所有测试和工作正常。
然后我回去看我的小地图,小船上的听众不再工作了。尝试过的东西:
- 调试代码以确保仍在添加侦听器
- 调试以观察我删除这些侦听器的地方,以确保不会意外发生
- 调试以查看我刷新该对话框的所有位置,以确保每次迭代都将侦听器添加回来
- 看不到上面有透明物体拦截
- 检查了 mini-ship parents 以确保我没有在某处关闭 mouseChildren 或类似的东西
- 没有添加stage-level listener,其实我暂时把他们都杀了来测试这个
当我在 mini-ship 侦听器处理程序上使用断点进行调试时会发生什么是 nada。它不再接收鼠标事件。所以要么我没有想到的东西阻止了他们听,要么我不知道的东西正在拦截。
那么这里的策略是什么?我怎样才能找到断链?
知道实际问题是什么当然给了我们后见之明的优势……话虽这么说,你可以通过在你的函数中添加一个跟踪调用来检测错误,这个跟踪调用在你的函数中添加了一个监听器和另一个删除它。然后你会看到它没有被重新添加。或者你可以在那里设置断点。
简单说一下,我有一张带有单位的游戏地图,并且已经完成了一个完全交互式的小地图,其中小地图上的单位有 rollover/rollout 的事件监听器(显示一个小的弹出单元数据摘要)然后单击(选择主游戏地图上的 "real" 单位并将视点滚动到该位置)。全部完成、测试、工作。
然后,我实现了一个交互式可滚动单元列表,其中包含更多状态摘要数据和数十个具有 rollover/rollout/点击侦听器的对象。所有测试和工作正常。
然后我回去看我的小地图,小船上的听众不再工作了。尝试过的东西:
- 调试代码以确保仍在添加侦听器
- 调试以观察我删除这些侦听器的地方,以确保不会意外发生
- 调试以查看我刷新该对话框的所有位置,以确保每次迭代都将侦听器添加回来
- 看不到上面有透明物体拦截
- 检查了 mini-ship parents 以确保我没有在某处关闭 mouseChildren 或类似的东西
- 没有添加stage-level listener,其实我暂时把他们都杀了来测试这个
当我在 mini-ship 侦听器处理程序上使用断点进行调试时会发生什么是 nada。它不再接收鼠标事件。所以要么我没有想到的东西阻止了他们听,要么我不知道的东西正在拦截。
那么这里的策略是什么?我怎样才能找到断链?
知道实际问题是什么当然给了我们后见之明的优势……话虽这么说,你可以通过在你的函数中添加一个跟踪调用来检测错误,这个跟踪调用在你的函数中添加了一个监听器和另一个删除它。然后你会看到它没有被重新添加。或者你可以在那里设置断点。