2013-04-22 5 views
0

На моем экране находятся плитки, созданные из массива. У меня есть функция перетаскивания мыши, называемая rollover, которая добавляет мувиклип, который выделяет край плиток, которые я сейчас нахожу. Я хочу, чтобы после того, как я щелкнул фрагмент, функция roll over не работает, пока не будет нажата другая кнопка. Я попытался положить removeEventListener для функции roll over в функции click, похоже, не работает. Как я могу это сделать, если это возможно?Отключить функцию временно as3

При необходимости отправьте дополнительную информацию.

function rollover(event:MouseEvent) 
     { 
     var tileHover = true; 
     if (tileHover == true){ 
       (event.currentTarget as Tile).outline.gotoAndStop("hover"); 
       } 
     if(tileHover == false){ 
       (event.currentTarget as Tile).outline.gotoAndStop("blank"); 
       } 
     } 

Ниже функция Mouseclick

function mouseclick(event:MouseEvent) 
     { 
     tileHover = false; 
     if (tileHover == false){ 
      tile_MC.removeEventListener(MouseEvent.ROLL_OVER, rollover) 
          } 
     } 

ответ

0

смотри ниже. Вы устанавливаете свойство и сразу проверяете, что такое значение этого свойства. Он будет всегда быть правдой, потому что вы просто задали его как истину.

var tileHover = true; 
if (tileHover == true){ 
    (event.currentTarget as Tile).outline.gotoAndStop("hover"); 
} 

Кроме того, не забудьте указать ваши типы данных.

0

Я думаю, вам нужно иметь (event.currentTarget as Tile) .outline.gotoAndStop ("blank"); в mouseclick.

Кроме того, я предполагаю, что tilehover - это глобальная переменная, используемая для отслеживания состояния зависания. Явно установить его true/false в обработчике только для целей отладки!

Смежные вопросы