Flash Player 10 中的精灵上没有手形光标或鼠标事件
我的电影以 Flash Player 10 为目标,并使用 FlexSDK v 4.51 对其进行编译。它编译并播放没有错误。 但是,如果我在 Flash Player 10 中查看 swf,某些设置为按钮模式的精灵不会显示手形光标或调度 MouseEvents。 事实上,如果我在 Flash Player 10 调试播放器中播放它,我会收到一个错误:
"VerifyError: Error #1053: Illegal override of z in mx.core.BitmapAsset."
因此,为了解决此问题,我可以切换到使用较旧的 SDK(版本 4.1)。现在错误消息消失了,但鼠标悬停问题仍然存在 - 现在对于 Flash Player 版本 10 和 11。
没有使用 Flash 11 的特定功能。它应该可以使用 Flash Player 10 进行定位。有什么想法可以解决此问题或导致此问题的原因吗?
==========
更新
我已经确定鼠标事件和覆盖错误不相关。 鼠标事件错误似乎是由使用过滤器引起的。我找到了一种解决方法,将过滤器应用于子对象,而不是父对象。
上面抛出的错误是由嵌入位图引起的。解决这个问题的方法似乎是使用 flex SDK 4.1。有什么理由不只使用 4.1 SDK?有什么方法可以让4.5 sdk兼容Flash Player 10吗?
My movie targets flash player 10, and I compile it with FlexSDK v 4.51. It compiles and plays with no errors.
But if I view the swf in Flash Player 10, some sprites that are set to buttonmode do not show a hand cursor or dispatch MouseEvents.
In fact, if I play it in the Flash Player 10 debug player, I get an error:
"VerifyError: Error #1053: Illegal override of z in mx.core.BitmapAsset."
So to fix this, I can switch to using an older SDK, version 4.1. Now the error message is gone, but the mouseover problem persists - now for Flash Player version 10 and 11.
There are no flash 11 specific features used. It should be targetable using flash player 10. Any ideas how to fix this problem or what is causing it?
==========
Update
I have determined that the mouse event and the override error are not related.
The mouse event error seems to being caused by using filters. and I have found a workaround, by applying the filter to a child object, instead of the parent.
The error thrown above, is getting caused by an embedded bitmap. And it seems like a fix to that is to use flex SDK 4.1. Any reason not to just use the 4.1 SDK? Any way to make 4.5 sdk compatible with Flash player 10?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
发生错误的原因是可能没有使用 4.5 的任何功能,但使用了更改的功能。只需使用 Flash Player 11 发布即可,一切都会正常工作。
The error happens because no maybe not any features of 4.5 are use but changed ones are. Simply release with flash player 11 and everything should work fine.
您肯定有一个使用名为
z
的属性扩展 BitmapAsset 的类。在 Flash 10 将其作为 任何DisplayObject
的内置成员变量。您应该编辑此类并更改属性的名称。
You surely have a class that extends BitmapAsset with a property called
z
. This was not a problem until Flash 10 introduced this as a built-in member variable of anyDisplayObject
.You should edit this class and change the name of your property.
您确定使用的是最新的 Flash 播放器吗?我最好的猜测是您正在使用高于播放器能够运行的 Flash 版本来编译程序,例如编译 11 然后在 10 上运行。您是否尝试过在可用的最新播放器中运行此程序?
Are you sure you're using the latest Flash player? My best guess is you're compiling your program using a Flash version greater than the player is capable of running, e.g. compiling for 11 then running on 10. Have you tried running this in the latest player available?