Flash: Comment puis-je Désactiver ou bloquer tous les événements de la souris de façon temporaire pour une externe SWF chargé
J'ai des fichiers SWF que je charge dans mon animation flash et de ceux des fichiers SWF ont parfois des événements de souris qui peuvent interférer avec les dialogues et les boutons de mon animation flash. J'aimerais désactiver temporairement la charge du Fsv gestionnaires d'événement de souris ou de les bloquer, d'avoir des effets sur mon animation flash. Mon animation flash est 2.
OriginalL'auteur Jon | 2009-07-14
Vous devez vous connecter pour publier un commentaire.
Une solution commune à ce genre de problème en ActionScript 2 est ce qui est souvent appelé un "blocage" du clip. Il suffit de créer un movieclip qui se compose d'un fond transparent. Ensuite, vous pouvez placer ce movieclip où vous voulez et la taille selon les besoins. Enfin vous attribuez à ce clip est un mannequin événement de souris et de désactiver l'utilisation du curseur en forme de main comme ceci:
Aussi longtemps que ce clip est au-dessus de votre contenu chargé, elle va absorber tout les événements de la souris.
Eh bien, je suis positif de cette technique fonctionne - je l'utilise tout le temps! Vous devez assurez-vous que le clip est visible (bloqueur._visible = true). Vous pouvez ajouter un peu de couleur pour le remplissage assurez-vous que vous êtes, en fait, au-dessus de la SWF chargé, car il est facile d'obtenir la profondeur de mal avec AS2.
Ouais je l'ai utilisé aussi. J'ai fait mon bloqueur de clip contient un grand rectangle bleu, donc je suis très certain qu'il est en cours de chargement et à la bonne largeur et la hauteur. Si vous êtes intéressé actifs qui sont en me donnant le plus grand des maux de tête sont de Print2Flash.
OriginalL'auteur Branden Hall
Créer votre gestionnaire d'événement au moment où il est réellement nécessaire tels que le lorsque le bouton ou l'objet est livré sur le cadre.
Si l'écouteur d'événement clics de souris a déjà été créé, vous pouvez le supprimer à l'auditeur, à tout moment, dans actionscript.
Et ensuite une fonction ou logique de mettre la souris gestionnaire d'événement retour sur plus tard
"handleMouseClick" la fonction et le code qui fait quelque chose avec la souris, cliquez sur
Une autre solution est de mettre certaines indicateur booléen dans votre code actionscript sur le scénario principal, et dans les fonctions qui gèrent les fonctionnalités de la souris, vous pouvez d'abord vérifier le booléen avant de faire quoi que ce soit. L'événement de la souris seront créés et transmis à votre gestionnaire d'événements, mais peut être sélectivement ignoré en fonction de l'état de votre drapeau booléen.
Aussi, ce code est AS3 spécifiques et ne fonctionnera pas avec AS2.
OriginalL'auteur Gordon Potter
Que les autres réponses de l'état, le moyen de s'arrêter sur les événements de parvenir à un fichier SWF enfant est de placer un bloqueur de l'objet en face de lui. La clé est pour le bloqueur d'être un bouton. Un clip simple avec une forme encore laissé de clics par le biais de AS2 enfant de fonds souverains.
Le bloqueur bouton est nécessaire, même si un AS2 ou AS3 parent est le chargement d'un AS2 SWF enfant.
OriginalL'auteur anthonysapien
Vous pouvez également utiliser une variable et de vérifier si l'état est " 0 " changé chaque fois que clickEvent fonction est appelée.
Ensemble
lockScreen = 1
quand vous voulez ignorer les événements click et remis à Zéro après avoir fait quelque chose.Au moins ça fonctionne pour moi 🙂
OriginalL'auteur Devyn