2010-06-24 4 views
0

En tant que débutant AS3, j'essaie de traduire un vieux truc AS2 en AS3. Je veux désactiver puis réactiver tout type d'interactivité avec tous les objets d'affichage sur la scène, à la fois. Par exemple, en attendant le chargement d'éléments externes ou après qu'un utilisateur clique sur un élément de menu.Désactivation/réactivation de l'interactivité

Ce que je faisais avec AS2:

protect_mc.onRelease = function():Void {}; 
protect_mc.enabled = false; 
protect_mc._alpha = 0; 
protect_mc._visible = false; 

commutation Puis protect_mc._visible true ou false.
(protect_mc étant un clip vide avec la hauteur de la scène et de la largeur, à la profondeur la plus élevée)

Ma première idée est l'enregistrement d'un auditeur à l'étape de la phase de capture de MouseEvent.CLICK qui arrête tous les événements d'entrée propagation (mouse, focus, text ...), lorsqu'une variable statique "lock" est définie sur true ou ne fait rien autrement.

idée deuxième utilise un événement personnalisé ...

Tout conseil serait grandement apprécié :) Merci
.

Répondre

1

Le code suivant désactive toutes les interactions avec l'objet d'affichage et des enfants:

movieClip1.mouseChildren = false; 
movieClip1.mouseEnabled = false; 
+0

merci! simple et propre. – jeremiemv

1

si vous n'avez pas des écouteurs attachés directement à l'étape, vous pouvez également utiliser:

stage.mouseChildren = false; 
Questions connexes