2010-01-08 2 views
0

Привет, У меня есть ActionScript, который перемещает коробку по сцене, когда мышь находится над левой или правой стрелкой. Сценарий ниже делает именно это. НО что я хочу сделать, так это то, что ящик многократно перемещается, пока мышь не сдвинется с кнопки со стрелкой. Я пробовал все способы, может кто-нибудь, пожалуйста, указать мне в правильном направлении. Я удалил много кода, но надеюсь, что этого достаточно, чтобы понять мою точку зрения. Спасибо Mickrepeat a Mouse Over event

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

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

ответ

2

можно использовать setInterval Met корыто:

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 Event

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

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

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