먼저 KeyboardEvent
의 대신 MouseEvent
을 수신한다 : 현재 나는이 있습니다. 그렇다면 stage
으로 발송되는 이벤트에 귀를 기울여야한다고 생각합니다.
다음은 Event.ENTER_FRAME
이벤트를 사용하는 예입니다. 스프라이트 이동 속도를 더 잘 제어하고 싶다면 타이머 대신 사용자를 원할 수 있습니다.
이 예제는 아래쪽 화살표를 눌렀을 때 작동하지만 원하는 키로 Keyboard.DOWN
을 변경할 수 있습니다.
stage.addEventListener(KeyboardEvent.KEY_DOWN, onKeyDown);
stage.addEventListener(KeyboardEvent.KEY_UP, onKeyUp);
function onKeyDown(event:KeyboardEvent):void
{
if (event.keyCode == Keyboard.DOWN)
{
stage.addEventListener(Event.ENTER_FRAME, onEnterFrame);
}
}
function onKeyUp(event:KeyboardEvent):void
{
if (event.keyCode == Keyboard.DOWN)
{
stage.removeEventListener(Event.ENTER_FRAME, onEnterFrame);
}
}
function onEnterFrame(event:Event):void
{
bottomArrow.y += 1;
}
'arrowsDown'에서 타이머를 시작하거나 ENTER_FRAME 수신기를 사용하여'.y'를 변경하십시오. MOUSE_UP 핸들러에서 타이머 또는 ENTER_FRAME을 중지하십시오. – sberry
도움을 주셔서 감사합니다. 그것은 작동합니다. – user2128095
http://stackoverflow.com/questions/12394877/as3-run-code-continuously-while-holding-a-button-down-air-for-ios-android/12395009#12395009 – BadFeelingAboutThis