Per fare ciò, è necessario eseguire una funzione ininterrotta tra MouseEvent.MOUSE_DOWN
e Event.MOUSE_UP
poiché MouseEvent.MOUSE_DOWN viene inviato solo una volta per stampa.
Ecco un semplice script per fare proprio questo:
myButton.addEventListener(MouseEvent.MOUSE_DOWN,mouseDown);
function mouseDown(e:Event):void {
stage.addEventListener(MouseEvent.MOUSE_UP,mouseUp); //listen for mouse up on the stage, in case the finger/mouse moved off of the button accidentally when they release.
addEventListener(Event.ENTER_FRAME,tick); //while the mouse is down, run the tick function once every frame as per the project frame rate
}
function mouseUp(e:Event):void {
removeEventListener(Event.ENTER_FRAME,tick); //stop running the tick function every frame now that the mouse is up
stage.removeEventListener(MouseEvent.MOUSE_UP,mouseUp); //remove the listener for mouse up
}
function tick(e:Event):void {
//do your movement
}
Per inciso, si consiglia di utilizzare gli eventi TOUCH, in quanto offre una maggiore flessibilità con il controllo multi-touch. Tuttavia, se si consente solo a un elemento di essere premuto in un dato momento, non è un problema.
Per fare ciò, è sufficiente aggiungere Multitouch.inputMode = MultitouchInputMode.TOUCH_POINT
nella classe del documento, quindi sostituire i vostri ascoltatori MouseEvent con l'evento di tocco appropriato:
MouseEvent.MOUSE_DOWN
diventa: TouchEvent.TOUCH_BEGIN
MouseEvent.MOUSE_UP
diventa: TouchEvent.TOUCH_END
Se questa è stata la sua risposta che non ha pubblicato il mio. Ma hai modificato la tua risposta proprio ora. – Moorthy
Grazie ... un salvatore di vita –