2010-11-05 4 views
0

J'ai donc un clip appelé signInBtn et un appelé signOutBtn initialement,Comment faire un clip, cliquable après être devenu visible?

signOutBtn.visible = false; 

mais lorsqu'un utilisateur se connecte

signInBtn.visible = false; 
signOutBtn.visible = true; 

Mais après que je fais cela, je ne peux pas cliquer sur le signOut MovieClip. Je pensais que c'était peut-être parce que le signOutBtn était sous le signe invisibleInBtn mais ce n'est pas le cas.

+0

Utilisez-vous Event.CLICK sur le MovieClip? – Jordan

+0

vous devez utiliser un bouton qui modifie les étiquettes et cible différents événements en fonction de l'étiquette plutôt que de gérer 2 boutons différents. – TheDarkIn1978

+0

oui j'utilise Event.CLICK –

Répondre

0

Modifier

signout works when it is in a different position to sign in but when it is in 
the same position as signin it cant be clicked. when the sign out button is half 
over the same position as the signin button, half the signout button works and 
half doesnt 

Si vous avez un MovieClip ou Sprite au-dessus d'une autre, l'événement de la souris sera projeté, il y a des façons de contourner que bien. Dans tous les cas, dans votre exemple, désactivez simplement sur un bouton quand vous ne avez pas besoin

 signInBtn.visible = false; 
    signInBtn.mouseEnabled = false; 

    signOutBtn.visible = true; 

Fin Edit

Il n'y a pas de raison apparente signOutBtn ne devrait pas être cliquable après sa visibilité a été basculée . L'erreur est ailleurs.

Assurez-vous que les deux boutons sont cliquables avant de changer leur visibilité.

Avez-vous ajouté des écouteurs d'événement aux deux boutons, supprimez-vous les écouteurs d'événement après le déclenchement de l'événement?

+0

ils ont tous les deux écouteurs d'événements et ils sont tous les deux cliquables –

+0

fonctionne quand il est dans une position différente pour se connecter, mais quand il est dans la même position que signin il ne peut pas être cliqué. lorsque le bouton de déconnexion est à moitié sur la même position que le bouton de connexion, la moitié du bouton de déconnexion fonctionne et la moitié n'est pas –

+0

alors vous devrez peut-être montrer du code. Comme je l'ai déjà dit, changer la visibilité n'affectera pas si un bouton est cliquable ou non. nous avons besoin d'en savoir plus sur votre implémentation ... – PatrickS

0
package 
{ 
import fl.controls.Button; 
import flash.display.Sprite; 
import flash.events.MouseEvent; 

public class Test extends Sprite 
{ 
private static const SIGN_IN:String = "Sign In"; 
private static const SIGN_OUT:String = "Sign Out"; 

private var button:Button; 

public function Test() 
    { 
    button = new Button(); 
    button.addEventListener(MouseEvent.CLICK, buttonClickEventListener); 
    button.label = SIGN_IN; 

    addChild(button); 
    } 

private function buttonClickEventListener(evt:MouseEvent):void 
    { 
    switch (button.label) 
      { 
      case SIGN_IN: button.label = SIGN_OUT; 
          trace("Signed in"); 
          break; 

      case SIGN_OUT: button.label = SIGN_IN; 
          trace("Signed out"); 
      } 
     } 
} 
} 
+0

c'est GRAND merci –

Questions connexes