Как сделать клип, кликабельный после того, как он стал видимым? - PullRequest
0 голосов
/ 05 ноября 2010

Итак, у меня есть мувиклип с именем signInBtn, а первый с именем signOutBtn:

signOutBtn.visible = false;

, но когда пользователь входит в систему

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

Но после этого я могуt кликнуть по мувиклипу signOut.Я подумал, что это может быть потому, что signOutBtn находится под невидимым signInBtn, но это не так.

Ответы [ 2 ]

0 голосов
/ 05 ноября 2010
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 голосов
/ 05 ноября 2010

Редактировать

 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

Если у вас есть MovieClip или Sprite поверх другого, событие мыши будет экранировано, хотя есть способы обойти это. В любом случае, в вашем примере, просто отключите кнопку, когда она вам не нужна

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

     signOutBtn.visible = true;

Конец редактирования

Нет очевидной причины, по которой signOutBtn не должен быть кликабельным после переключения его видимости. Ошибка в другом месте.

Убедитесь, что обе кнопки доступны для нажатия, прежде чем изменять их видимость.

Добавили ли вы прослушиватели событий для обеих кнопок, вы удаляете прослушиватели событий после того, как событие было запущено?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...