Flash CS6でiOSゲームを開発しています。 Event.MOUSE_DOWN
ハンドラに入れた基本的な動作テストがあります。AS3ボタンを押しながらコードを継続的に実行iOS/Android用
私が期待しているのは、ボタンを指で押さえたときに、プレーヤーが画面に触れなくなるまで動き続けることです。
何が起こっても、プレーヤーを動かし続けるためには、指を押したままでプレイヤーが動き続けるのではなく、常にタップしなければなりません。
私は何をしたいのですか?
Flash CS6でiOSゲームを開発しています。 Event.MOUSE_DOWN
ハンドラに入れた基本的な動作テストがあります。AS3ボタンを押しながらコードを継続的に実行iOS/Android用
私が期待しているのは、ボタンを指で押さえたときに、プレーヤーが画面に触れなくなるまで動き続けることです。
何が起こっても、プレーヤーを動かし続けるためには、指を押したままでプレイヤーが動き続けるのではなく、常にタップしなければなりません。
私は何をしたいのですか?
これを達成するには、MouseEvent.MOUSE_DOWN
とEvent.MOUSE_UP
の間で連続的に関数を実行する必要があります.MouseEvent.MOUSE_DOWNは1回のプレスで1回だけ送出されるからです。ここで
はちょうどそれを行うための簡単なスクリプトです:余談として
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
}
、あなたはそれがマルチタッチコントロールでより多くの柔軟性を与えるように、タッチイベントを使用することをお勧めします。一度に1つのアイテムが押されることを許可するつもりなら、それは問題ではありません。
MouseEvent.MOUSE_DOWN
は次のようになります:TouchEvent.TOUCH_BEGIN
MouseEvent.MOUSE_UP
は次のようになります。TouchEvent.TOUCH_END
これは私あなたの答えだった場合だけで、適切なタッチイベントであなたのMouseEventリスナーを置き換える、ドキュメントクラスに
Multitouch.inputMode = MultitouchInputMode.TOUCH_POINT
を追加し、それを行うTO私の後には投稿しませんでした。しかし、今あなたの答えを編集しました。 – Moorthy
ありがとう..人生の救世主 –