J'ai rencontré un problème en essayant de redispatch événements de souris en ActionScript 3, dont je suis un peu incrédule. Je l'ai réduit à la méthode MouseEvent.clone()
apparaissant, bien, complètement cassé. Le gestionnaire d'événement suivant:ActionScript MouseEvent.clone() apparaît brisé?
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);
}
Résultats dans la sortie suivante, ad infinitum:
mousemove 167 206
mousemoveclone 0 0
Cela correspond à ce que le code que je redispatching MouseEvent à recevait, d'où mon hypothèse de la fonction clone cassé .
Ceci est directement en contradiction avec ce que la documentation liée indique devrait se produire, à moins que j'ai manqué quelque chose. Je suis à une perte complète quant à ce que j'ai fait (ou n'a pas fait) qui pourrait causer ce comportement. Est-ce que les gars AS3 ont vraiment oublié de lire leurs propres documents sur Event.clone()
?
Je peux contourner ce problème en utilisant à la place des objets fonction pour mon cas d'utilisation spécifique, mais je préfère ne pas le faire. Des idées? Les membres localX et localY sont correctement clonés il semble, ce qui me fait encore plus de perte quant à ce qui se passe ici.
Je viens de perdre encore plus de respect pour Adobe pour ce bogue qui date de presque un an. Merci pour le lien. –
Yah, il y a quelques bugs comme ça. Cela n'affecte pas beaucoup de gens, et la solution est simple, donc je suppose qu'ils ne dérangent pas. –
Probablement plus comme "Nous ne pouvons pas déranger la réparation, et les gens vont juste contourner le problème". Œuf de poule :) –