ムクドリTouchEvent
とTouchPhase
最初は少し混乱する可能性があります。は、ユーザーが画面に触れ始めたときに1 回TouchPhase.BEGAN
だけ起動します。指がボタン上にある間に何らかのコードを実行したい場合は、フェーズで実行を開始し、フェーズで実行を停止します (ユーザーが画面に触れるのをやめたときにも 1 回だけ起動します)。TouchPhase.BEGAN
TouchPhase.ENDED
たとえば、あなたの場合、次のようなことができます:
btnPress.addEventListener(TouchEvent.TOUCH, isPressed);
private function isPressed(event:TouchEvent):void
{
var touch:Touch = event.getTouch(btnPress);
if(touch.phase == TouchPhase.BEGAN)//on finger down
{
trace("pressed just now");
//do your stuff
addEventListener(Event.ENTER_FRAME, onButtonHold);
}
if(touch.phase == TouchPhase.ENDED) //on finger up
{
trace("release");
//stop doing stuff
removeEventListener(Event.ENTER_FRAME, onButtonHold);
}
}
private function onButtonHold(e:Event):void
{
trace("doing stuff while button pressed!");
}
これが物事を少し明確にするのに役立つことを願っています!