Flashゲーム作成講座

初心者からクリエイター志望まで Flashゲームの作り方 入門

ゲームの作り方を初心者にも分かりやすく説明します。ゲームクリエイターを目指す方にも役立つ情報を。

マウスのボタンが押されたか調べる方法 (左ボタン)

マウスの左ボタンが押されたか調べる方法を説明します。

調べる方法は4つあります。

イベント定数 内容
MouseEvent.CLICK 左ボタンをクリックした
MouseEvent.DOUBLE_CLICK 左ボタンをダブルクリックした
MouseEvent.MOUSE_DOWN 左ボタンを押した
MouseEvent.MOUSE_UP 左ボタンを離した

 

マウスの左ボタンをクリックしたかを調べる

左ボタンがクリックされたかを調べるにはMouseEvent.CLICKイベントを使います。

画面上のどこをクリックしても、赤い四角は45度ずつ回転します。
青い四角の上でクリックした時のみ、赤と青の両方の四角が回転します。
プログラムは次のようになっています。

flash as3 マウスの情報を取得

左ボタンがクリックされたかを調べるMouseEvent.CLICKイベントを登録することで
クリックされた時に関数が実行されます。
登録の方法は次のようになっています。

flash as3 マウスがクリックされたか調べる方法

赤い四角は、ステージ(stage)に対してイベント登録しているので
画面上のどこをクリックしてもstage_click関数は呼び出されます

それに対し青い四角は、インスタンス名 ao_mc に対してイベント登録されているので
青い四角の上でクリックされた時のみao_click関数が呼び出されます。

 

マウスの左ボタンをダブルクリックしたかを調べる

左ボタンがダブルクリックされたかを調べるにはMouseEvent.DOUBLE_CLICKイベントを
使います。

画面上のどこをダブルクリックしても赤い四角は45度回転します。
(正確には他のオブジェクトが配置されていない部分)
青い四角の上でダブルクリックすると、両方の四角が回転します。
プログラムは次のようになっています。

flash as3  ダブルクリックの調べ方

左ボタンをダブルクリックしたMouseEvent.DOUBLE_CLICKイベントを登録し
さらにdoubleClickEnabledプロパティを true(有効) にすることで
ダブルクリックされた時に関数が実行されます。

flash as3 マウスダブルクリック情報の取得

3と4行目を見て下さい。
赤い四角は、ステージ(stage)に対してイベント登録しているので
画面上(他のオブジェクトが配置されていない)をダブルクリックするとstage_click関数は
呼び出されます。

11と12行目を見て下さい。
青い四角は、インスタンス名ao_mcに対してイベント登録されているので
青い四角の上でダブルクリックした時のみao_click関数は呼び出されます。

なお、赤い四角の上でダブルクリックしても回転しません。
赤い四角に対しdoubleClickEnabledプロパティが有効になっていない為で
stage_click関数が呼ばれないからです。
テキストメッセージ上でダブルクリックしても回転しない理由も同じです。

逆に、青い四角をダブルクリックした時に、赤い四角も回転するのは
青い四角(ao_mc) のdoubleClickEnabledプロパティが有効になっているためで
ステージ(stage)に対して登録されたイベントも一緒に動いてしまうからです。

赤い四角をダブルクリックした時に、赤い四角を回転させたいのなら
赤い四角のインスタンス名aka_mcdoubleClickEnabledを有効にします。
5行目に
aka_mc.doubleClickEnabled = true;
を入れることになります。

 

マウスの左ボタンが押されたかを調べる

左ボタンが押されたかを調べるにはMouseEvent.MOUSE_DOWNイベントを使います。

左ボタンを、画面上のどこで押しても赤い四角は拡大します。
青い四角の上で左ボタンを押すと、両方の四角が拡大します。
プログラムは次のようになっています。

flash as3 マウスの左ボタンが押されたか調べる
注意:15行目までが左ボタンを押した時の処理になります。

左ボタンを押したMouseEvent.MOUSE_DOWNイベントを登録することで
左ボタンが押された時に関数が実行されます。
flash as3 マウスの左ボタンが押されたか調べる

赤と青の四角で動きが異なるのは、イベントの登録対象の違いにあります。

赤い四角は、ステージ(stage)に対してイベント登録しているので
画面上のどこをクリックしてもstage_down関数は呼び出されます。

青い四角は、インスタンス名ao_mcに対してイベント登録されているので
青い四角の上でクリックされた時のみao_down関数は呼び出されます。

 

マウスの左ボタンが離されたかを調べる

左ボタンが離されたかを調べるにはMouseEvent.MOUSE_UPイベントを使います。

左ボタンを画面上のどこで押しても赤い四角は拡大し、ボタンを離すと元に戻ります。
青い四角の上で左ボタンを押すと両方の四角が拡大し、ボタンを離すと元に戻ります。
プログラムは次のようになっています。

flash as3 マウスの左ボタンが離されたか調べるイベント
注意:17行目からが左ボタンを離した時の処理になります。

左ボタンを離したMouseEvent.MOUSE_UPイベントを登録することで
左ボタンが離された時に関数が実行されます。

flash as3 MOUSE_UPイベントの説明

赤と青の四角で動きが異なるのは、イベントの登録対象の違いにあります。

赤い四角は、ステージ(stage)に対してイベント登録しているので
画面上のどこで離してもstage_up関数は呼び出されます。

青い四角は、インスタンス名ao_mcに対してイベント登録されているので
青い四角の上で離した時のみao_up関数は呼び出されます。

このイベントを使う時には注意が必要です。

サンプルプログラムにて
青い四角の上で左ボタンを押して
そのままマウスカーソルを青い四角の外へ移動してからボタンを離す

という操作をしてみて下さい。

青い四角の大きさが元に戻らない」と思います。
これはインスタンス名ao_mcに対してイベントを登録したため
ao_mc(青い四角)の上で操作しないと関数が実行されないからです。

この性質を認識した上で使うようにしましょう。

 

[ マウスやキーボードの操作について ] に戻る