2016-10-15 11 views
0

だから私の理解に、例えば、キーストロークを表現するキーコードがあります。MouseEventのキーコードですか?

私はこのロジックと似た何かをし、マウスイベントのためにそれを適用したい
public function left(e:KeyboardEvent):void 
{ 
    if (e.keycode == 65) 
    { 
     leftKey = true; 
    } 
} 

。私はGoogleで検索しましたが、Flashdevelop AS3の結果はそれほど見つかりませんでした。マウスイベントを表すためのキーコードはありますか? 例:

stage.addEventListener(MouseEvent.MOUSE_DOWN, down); 
stage.addEventListener(MouseEvent.MOUSE_MOVE, move); 
stage.addEventListener(MouseEvent.CLICK, click); 

public function down(e:MouseEvent):void 
{ 
    if (e.keycode == ?) 
} 
public function move(e:MouseEvent):void 
{ 
    if (e.keycode == ?) 
} 
public function click(e:MouseEvent):void 
{ 
    if (e.keycode == ?) 
} 

ありがとうございます!

+0

http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/flash/events/MouseEventhtml –

+0

あなたは左、中央、右のマウスボタンのような意味ですか?または、をクリックしているときにキーボードのキーを押した場合とにかく、これに関する文書は素晴らしいです。それを読んで、あなたは何をする必要があるかを見なければなりません。より具体的な質問がある場合は、ここに戻ってください。 –

+0

あなたの例は本当に意味をなさないので...マウスMOVEのキーコードはどうやってできますか? –

答えて

0

というリスナーが付いているマウスイベントを発生させると、そのリスナーに関連付けられた関数が呼び出されます。期間。マウスイベントが発生したかどうかを再度確認する必要はありません。それはイベントリスナーの美しさです。ちょうどあなたがそれを得ることを確認するために、私は例を投稿します。

stage.addEventListener(MouseEvent.CLICK,mClick); 

グレート。ステージにリスナーを追加しました。ステージ上の任意の場所をクリックすると、このリスナーはそのmClick関数が呼び出されるようになります。今度はmClick関数を記述します。

private function mClick(me:MouseEvent):void{ 
    trace("me.target.x",me.target.x); 
    trace("me.target.y",me.target.y); 
} 

meは、この機能をトリガしたイベントを表すために選択した変数です。 Eventはクラスです。 MouseEventEventのサブクラスです。だから我々はmeがのEventであり、この機能のためにはの入力であると言っている。あなたのコードのどこかでこの関数を呼び出そうとすると、この関数が何らかの入力を予期していると言うエラーが発生します。

me.targetは、イベントが発生する原因となったのです。この場合はマウスですので、me.target.xはマウスがクリックされたときのマウスのx位置になります。

これはすべてです。別の問題、すなわちキーボードにキープレスを登録する方法に特定の解決策を適用しようとすると、ちょっと混乱してしまいました。それらは基本的には多少異なって扱われます。キーボードの場合は、キーボードにキーが押されているかどうかを確認し、イベントハンドラでキーが押されたと判断します。マウスイベントでは、マウス移動、マウスクリック、左マウスクリック、中マウスクリックのリスナが異なります。これらの特定のイベントのそれぞれが自分のリスナーを持っているので、我々はハンドラ内で押されたボタンを評価する必要はありません。

public function left(e:KeyboardEvent):void 
{ 
    if (e.keycode == 65) 
    { 
     leftKey = true; 
    } 
} 

eは、イベントを発生させたものです。この場合、キーボードのキー。各キーにはキーコードがあります。しかし、キーボード上のすべての単一キーに異なるリスナーを書くのではなく、1つのリスナーと1つの関数を書いて、関数内でどのキーが押されたかを評価することができます。前述したように、マウスでは、マウスの左ボタンが独自のイベントリスナーを取得するため、イベントリスナーでそのイベントを確認する必要はありません(または能力)。 ROLL_OVERおよびMOUSE_UPMOUSE_DOWNのようなプロパティがあります。完全なリストについては、ドキュメントを参照してください。

+0

ああ、私は参照してください。だから、私がアクションを実行するときにリアルタイムで発生します。実際に何かを確認する必要はありません。もう一度デイビスさんに感謝します! – Zulu

+0

もう一度@Neal Davis :) – tatactic

関連する問題