Когда нажата кнопка button1, курсор меняется на «мувиклип». Я хочу, чтобы этот курсор мувиклипа переключался обратно на обычный курсор при повторном нажатии кнопки1, поэтому включите и выключите эту функцию.

Мой вопрос к вам: здесь, вероятно, будет использоваться какое-то логическое значение для включения и выключения функции, или я ошибаюсь? Заранее спасибо!

button1.addEventListener(MouseEvent.CLICK,wipe);

function wipe(e:Event):void 
{

        Mouse.hide();
        stage.addEventListener(MouseEvent.MOUSE_MOVE,follow);
        function follow(evt:MouseEvent)
              {
              cursor.x = mouseX;
              cursor.y = mouseY;
              }
}
0
Opoe 30 Авг 2011 в 23:23

2 ответа

Лучший ответ

Пытаться

protected function wipe(e:Event):void {
    if (stage.hasEventListener(MouseEvent.MOUSE_MOVE, follow) {
        stage.removeEventListener(MouseEvent.MOUSE_MOVE, follow);
    } else {
        stage.addEventListener(MouseEvent.MOUSE_MOVE, follow);
    }
}

Я бы убрал определение «следовать». Это вообще работает?

Если вам нужно иметь других слушателей для MOUSE_MOVE прямо на сцене, вы можете выбрать что-то вроде:

protected var isFollowing:Boolean;
protected function wipe(e:Event):void {
    if (isFollowing) {
       stage.removeEventListener(MouseEvent.MOUSE_MOVE, follow);
   } else {
        stage.addEventListener(MouseEvent.MOUSE_MOVE, follow);
   }
   isFollowing = !isFollowing;
}

Примечание: я предполагал, что вы собираетесь поместить свой код в класс документа, поскольку я всегда предполагаю, что если вы достаточно заботитесь, чтобы спросить в таком месте, как Stack Overflow, вы хотели бы использовать хорошую практику.

0
Amy Blankenship 31 Авг 2011 в 11:03
var isMC:Boolean=false;


button1.addEventListener(MouseEvent.CLICK,wipe);
cursor.visible=false;
function wipe(e:Event):void 
{
if(isMC==false){
    cursor.visible=true;
    Mouse.hide();
    stage.addEventListener(MouseEvent.MOUSE_MOVE,follow);
    function follow(evt:MouseEvent)
          {
          cursor.x = mouseX;
          cursor.y = mouseY;

          }
          isMC=true;}else{Mouse.show();
          cursor.visible=false;
          isMC=false

}}   

Надеюсь это поможет.

0
Ben 22 Сен 2014 в 07:38