Je voudrais retarder la gestion de certains événements capturés dans ActionScript jusqu'à un certain moment. En ce moment, je les mets dans un tableau quand ils sont capturés et passons en revue quand cela est nécessaire, mais cela semble inefficace. Y a-t-il une meilleure manière de faire cela?Retarder la gestion des événements dans Flash
Répondre
Eh bien, pour moi, cela semble une façon propre et efficace de le faire.
Que voulez-vous dire en retardant? vous voulez dire simplement les traiter plus tard, ou les traiter après un temps donné?
Vous pouvez toujours définir un délai pour la fonction de traitement réelle dans votre gestionnaire d'événements (en utilisant flash.utils.setTimeout
), pour traiter l'événement à un moment précis dans le temps. Mais cela peut devenir inefficace, car il se peut que vous ayez beaucoup de temps morts qui doivent être gérés par le moteur d'exécution.
Peut-être pourriez-vous préciser un peu plus vos besoins.
modifier:
Ok, essentiellement, flash player est un seul thread - qui est l'exécution de bytecode est un seul thread. Et tout événement, qui est distribué, est traité immédiatement, c'est-à-dire que dispatchEvent(someEvent)
appellera directement tous les gestionnaires enregistrés (donc AS bytecode).
Il existe maintenant des événements qui sont générés en arrière-plan. Ceux-ci proviennent soit d'E/S (réseau, userinput) ou de minuteries (TimerEvents). Il peut arriver que certains de ces événements se produisent, alors que bytecode est exécuté. Cela se produit généralement dans un thread d'arrière-plan qui transmet l'événement (au sens abstrait du terme) au thread principal via une file d'attente (de). Si le thread principal est occupé à exécuter le bytecode, alors il ignorera ces messages jusqu'à ce que cela soit fait (remarque: presque toute exécution de bytecode est toujours la conséquence implicite d'un événement (que ce soit entre frame, input, timer ou opération de chargement ou autre)). Lorsqu'il est inactif, il recherche dans toutes les files d'attente jusqu'à ce qu'il trouve un message disponible, encapsule les informations dans un objet événement ActionScript et les distribue comme décrit précédemment.
Cette mise en file d'attente est donc un mécanisme de très bas niveau, qui vient de la communication de thread à thread (et apparaît dans de nombreux scénarios multithread), et est inaccessible pour vous.
Mais comme je l'ai déjà dit, votre approche est à la fois valide et logique.
Les traiter plus tard, à ma propre discrétion. Je ne suis pas sûr, mais j'ai entendu dire que les événements nécessitant un traitement sont déjà stockés dans une sorte de file d'attente. Y at-il un moyen d'accéder directement à cette file d'attente, au lieu de se fier à une seconde file d'attente? – Archagon
les stocker dans le vecteur au lieu de tableau: p
Je pense qu'il est tout au sujet de la façon dont vous structurez votre programme, peut-être vous pouvez affecter l'événement capturé sous l'instance liée? Alors qu'il est tout naturel pour traiter l'événement capturé avec elle au lieu d'interroger à partir d'un vecteur global
- 1. Flash: Distribution/gestion des événements
- 2. Gestion des événements dans SPWebPartManager
- 3. Gestion des événements dans wxPython
- 4. Gestion des événements dans ASP.net
- 5. Gestion des événements Flex
- 6. Gestion des événements Silverlight
- 7. ASP.Net ListView et la gestion des événements
- 8. Java Gestion des exceptions dans les "événements"
- 9. Gestion des événements de Login.Authenticate
- 10. Gestion des événements filetés (C#)
- 11. Gestion des événements répétés dans un journal
- 12. Gestion des événements de souris dans javafx
- 13. Treeview Gestion des événements ASP.Net
- 14. Gestion des événements avec PowerShell?
- 15. Gestion des événements pour la barre d'outils Utilisation du ciblage Haxe Flash
- 16. problème avec la gestion des événements COM dans VB.NET
- 17. Gestion des événements avec Jython & Swing
- 18. Gestion des événements pour un formulaire hérité
- 19. Gestion des événements en Reoccurring PHP/MySQL
- 20. Ordre Z et la gestion des événements wpf
- 21. Augmentation de la gestion des événements en Java
- 22. Gestion des événements de sortie d'application dans une application AIR
- 23. Gestion des événements dans le contrôle d'utilisateur dynamique d'asp.net
- 24. Gestion des événements VB.NET dans le code VB6
- 25. Gestion des événements "Open Document" (odoc) dans Snow Leopard
- 26. gestion de la mémoire Flash Lite
- 27. Gestion des événements des contrôles ajoutés pendant l'exécution
- 28. Gestion des événements Sharepoint .. quelle colonne a changé?
- 29. Gestion des événements pour les objets liés en retard
- 30. Gestion correcte des événements à l'aide de jQuery
modifié après ... l'espoir que les réponses que vous question ... :) – back2dos
Je devine que ce ne sont pas des événements, mais l'interface utilisateur fichier chargement des événements de type complet? onsoundcomplete comme? – Assembler
Merci, dos! Assembleur, c'est pour un jeu de plateformes à verrouillage de trame. Je veux que tous les événements d'entrée soient traités au début de chaque nouvelle image. – Archagon