1

这不仅仅是我的好奇心,最近我收到了一份关于我的一个 AS3 应用程序的错误报告。仅当 Flash 播放器中的质量设置为低(高/中 - 一切正常)时,才能重现此错误。这个错误改变了应用程序的行为,但对我来说这是一个谜,为什么它只发生在低质量,而质量据说会影响渲染和视觉外观,而不是代码或行为。

简而言之,我有一个菜单面板(MovieClip),里面有几个项目(也是MovieClips)。非常简单,它在 MouseEvent 之后出现在屏幕上,并且用户将光标从一个元素向下移动到另一个元素。当光标到达第二个项目的边缘时,菜单突然消失。在我的代码面板中,隐藏是在鼠标单击或鼠标移出时设置的。

我个人认为,问题出在 Tweener 上,我必须使用那段旧代码。当鼠标在用户图标上方时显示菜单面板,同时在 Tweener 的帮助下我对这个图标产生了一些简单的效果。

我已经探索了 adobe 和 firefox(我的应用程序适用于 web 浏览器,并且报告了 firefox 的错误)bugtrackers,但到目前为止我什么也没找到。也许闪存播放器 11 与阵列的不当行为,已经修复......我已经没有想法了。

4

1 回答 1

0

从文档:

LOW
Specifies low rendering quality: graphics are not anti-aliased, and bitmaps are not smoothed.

如果它只在渲染设置为低时发生,那么它可能是一个时间问题 - 即错误一直存在,但是因为您更早地结束渲染,您可以触发然后错误。错误报告者的电脑是不是很慢?有很多事情同时发生吗?菜单是否被删除、设置为不可见或重新定位?

就像@jeremyne​​albrown 说的那样,尝试将您的课程分离到一个简单的项目中,以确保您的逻辑没有问题。

另一种方法,覆盖该removeChild()方法visible和属性以查看是哪个设置了它,然后在所有调用它们的调用之前放置跟踪以查看是什么触发了它。xy

如果您认为问题出在 Tweener 中,MOUSE_OVER请向菜单面板添加一个侦听器,该侦听器调用类似removeAllTweens()的内容,无论菜单面板的状态如何。如果该错误不再发生,这将表明它与补间引擎有关。

于 2011-11-20T12:17:17.627 回答