2010-01-08 3 views
0

Salut, j'ai un actionscript qui déplace une boîte à travers la scène lorsque la souris est sur un bouton en forme de flèche gauche ou droite. Le script ci-dessous fait juste cela. MAIS ce que je veux faire, c'est que la boîte bouge plusieurs fois jusqu'à ce que la souris soit déplacée du bouton fléché. J'ai essayé de tous les moyens peut quelqu'un s'il vous plaît pointez-moi dans la bonne direction. J'ai enlevé beaucoup de code, mais j'espère que c'est suffisant pour faire passer mon message. Merci Mickrépéter un événement Mouse Over

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

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

Répondre

2

vous pouvez utiliser le Met setInterval hod:

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 ; 
} 

ou le 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

Juste une suggestion, ne sais pas comment il sera lisse bien:

  • définir un indicateur pour indiquer la souris sur
  • mettre en œuvre un gestionnaire cadre qui vérifie le drapeau et si ensemble déplace la boîte
  • sur la souris, réarm le drapeau