マウスが動かされた事を判定するには

◆PROCESSING 逆引きリファレンス

 カテゴリー:キーボード・マウス処理

マウスが動かされた事を判定するには

【解説】

PROCESSINGでは、マウスのボタンが押された事だけではなく、マウスが動かされたことを検知する事も可能です。

マウスの動きを検知するには、2つの方法があります。

mouseMoved()関数を利用する
マウスが動かされた時に呼び出されるイベント関数 mouseMoved()  を利用します。

mouseDragged()関数を利用する
マウスがドラッグされた時に呼び出されるイベント関数 mouseMoved() を利用します。

【構文】

void  mouseMoved(){  …  };
void  mouseMoved(event){  …  };

void  mouseDragged(){  …  };
void  mouseDragged(event){  …  };

【パラメータ】

MouseEvent : event : マウスイベントオブジェクト

eventはMouseEventオブジェクトのインスタンス変数で、離されたボタンの種類、離された際のマウスカーソルの座標などを保持しています。

詳しくは「マウスボタンが押された事を判定するには」記事で解説していますので、そちらを参照してください。

ま たmouseMoved()関数とmouseMoved(event)関数を2つとも定義すると、mouseMoved(event) 関数が 優先して呼び出されるようです。この時、イベントを引数に取らないmouseMoved()関数は呼び出されません。

これはmouseDragged() 関数の場合も同様です。

【戻り値】

void

【注意】

mouseMoved()  関数はマウスボタンが離されている状態で、マウスが動かされた場合だけ呼びだされます。ボタンが押されていると、マウスが動いても呼び出されない事に注意してください。

その逆で、mouseDragged() 関数はマウスボタンが押されている状態で、マウスが動かされた場合だけ呼びだされます。ボタンが押されていない場合、マウスが動いても呼び出されない事に注意してください。

【関連記事】


サンプルプログラム

移動を検知する例:

実行結果ウィンドウの上でマウスを動かすと、マウスカーソルの位置に青い点を描画します。マウスを押しながら動かす(ドラッグする)とマウスカーソルの位置に赤い点を描画します。

<出力サンプル>
mouseMovedサンプル

 

応用例:

上記を実行すると、画面中央に白い四角形が描画されます。四角形の上でマウスボタンを押しながらマウスを動かすと、四角形がマウスカーソルについて動きます。

<出力サンプル>
mouseMovedサンプル2

 


PROCESSING逆引きリファレンス一覧 へ戻る

本ページで利用しているアイコン画像は、下記サイト様より拝借しております。各画像の著作権は、それぞれのサイト様および作者にあります。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

CAPTCHA


*

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)