私は、ActionScript 3でredispatchマウスイベントを試行する際に問題に遭遇しましたが、これは疑いの余地がありません。私はMouseEvent.clone()
メソッドが表示されたら、それを完全に壊したものに絞り込んだ。次のイベントハンドラ:ActionScript 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のメンバーが正しくクローンされているようですが、ここで何が起こっているのかをもっと犠牲にしています。
私はちょうど1年前のそのバグのためにアドビに対する敬意をもっと失ってしまった。リンクありがとう。 –
Yah、そういったバグがいくつかあります。それは多くの人々に影響を与えませんし、回避策は簡単なので、彼らは気にしないと思います。 –
おそらくもっと「私たちはそれを修正することはできませんし、人々はちょうどそれを回避するでしょう」。鶏卵 :) –