我在尝试在 ActionScript 3 中重新分配鼠标事件时遇到了问题,我对此感到有些怀疑。我已经把它缩小到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 成员似乎被正确克隆了,这让我对这里发生的事情感到更加茫然。