【发布时间】:2013-03-11 07:44:19
【问题描述】:
我在尝试在 ActionScript 3 中 redispatch 鼠标事件时遇到了问题,我承认对此有点怀疑。我已将其缩小到出现的MouseEvent.clone() 方法,好吧,完全坏了。以下事件处理程序:
private function handleMouseMove( evt : MouseEvent ) : void
{
trace("mousemove", evt.stageX, evt.stageY);
var newEvt : MouseEvent = evt.clone() as MouseEvent;
trace("mousemoveclone", newEvt.stageX, newEvt.stageY);
}
导致以下输出,无穷无尽:
mousemove 167 206
mousemoveclone 0 0
这与我将 MouseEvent 重新分派到的代码所接收的内容相匹配,因此我假设克隆函数已损坏。
除非我遗漏了什么,否则这与链接文档表明应该发生的内容直接矛盾。对于可能导致这种行为的我做了(或没有做)的事情,我完全不知所措。 AS3 的人真的忘了在Event.clone() 上阅读他们自己的文档吗?
我可以通过针对我的特定用例使用函数对象来解决这个问题,但我不希望这样做。有什么想法吗?
编辑: localX 和 localY 成员似乎被正确克隆了,这让我对这里发生的事情感到更加茫然。
【问题讨论】:
标签: actionscript-3 events mouseevent dispatcher