повторить событие Mouse Over - PullRequest
       13

повторить событие Mouse Over

0 голосов
/ 08 января 2010

Привет, у меня есть actionScript, который перемещает окно по сцене, когда мышь находится над кнопкой в ​​виде стрелки влево или вправо. Сценарий ниже делает именно это. НО, что я хочу сделать, это несколько раз перемещать поле, пока мышь не отведет от кнопки со стрелкой. Я попробовал все способы, может кто-нибудь, пожалуйста, укажите мне правильное направление. Я удалил большую часть кода, но надеюсь, что этого достаточно, чтобы понять мою точку зрения. Спасибо, Мик

right_arrow.addEventListener(MouseEvent.mouseOver, moveR) ;
left_arrow.addEventListener(MouseEvent.mouseOver, moveL) ;

function moveL(e:MouseEvent)    {
box_image.x = box_image.x - 5 ;
    }

Ответы [ 2 ]

2 голосов
/ 08 января 2010

вы можете использовать setInterval Метод:

right_arrow.addEventListener(MouseEvent.mouseOver, handleMouseOver) ;
right_arrow.addEventListener(MouseEvent.mouseOut, handleMouseOut) ;

function handleMouseOver( event:MouseEvent):void {
  setTimeout( moveBoxR, 500 ); //every 500ms
}

function handleMouseOut( event:MouseEvent):void {
  clearTimeout( moveBoxR );
}

function moveBoxR() {
  box_image.x -= 5 ;
}

или Событие ENTER_FRAME

right_arrow.addEventListener(MouseEvent.mouseOver, handleMouseOver) ;
right_arrow.addEventListener(MouseEvent.mouseOut, handleMouseOut) ;

function handleMouseOver( event:MouseEvent):void {
  addEventListener( Event.ENTER_FRAME, moveBoxR )
}

function handleMouseOut( event:MouseEvent):void {
  removeEventListener( Event.ENTER_FRAME, moveBoxR )
}

function moveBoxR(event:Event) {
  box_image.x -= 5 ;
}
0 голосов
/ 08 января 2010

Просто предложение, не знаю, насколько оно будет гладким:

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