更新:2024/09/06

Processingのマウス関連の処理

Processingのマウス関連の処理
はるか
はるか
Processingでクリック処理ってどうやる?
ふゅか
ふゅか
クリックにもいろいろあるのよ

Processingのマウス関連の処理について解説します。

1. マウス関連の処理

1.1. mouseClicked

マウスがクリックされた瞬間に一度だけ実行される処理を記述します。mouseX, mouseYとはマウスの現在のX座標とY座標を表すあらかじめ用意されている変数です。

void setup() {
  size(400, 400);
  background(255);
}
void draw(){
  
}
void mouseClicked() {
  fill(0);
  ellipse(mouseX, mouseY, 20, 20);
}

1.2. mouseDragged

マウスがドラッグされている間、連続して実行される処理を記述します。「マウスがドラッグされている間」というのは、マウスボタンが押された状態でマウスを移動している状況を指します。

void setup() {
  size(400, 400);
  background(255);
}
void draw(){
  
}
void mouseDragged() {
  ellipse(mouseX, mouseY, 10, 10);
}

1.3. mouseReleased

マウスボタンが離されたときに実行される処理を記述します。わからない場合は、長押ししてみてください。

void mousePressed() {
  fill(255);
  ellipse(mouseX, mouseY, 50, 50);
}

1.4. mousePressed

マウスボタンが押されたときに実行される処理を記述します。

void setup() {
  size(400, 400);
  background(255);
}
void draw(){
  
}
void mousePressed() {
  fill(255);
  ellipse(mouseX, mouseY, 50, 50);
}

2. mouseReleasedとmouseClickedの違い

はるか
はるか
mouseReleasedとmouseClickedって結局何が違う?
ふゅか
ふゅか
似ているけど結構違うのよ

mouseClickedはクリックの動作が同じ座標である。一方、mouseReleasedはクリックした後にマウスを動かしてもプログラムは実行されます。次のコードを使って試してみましょう。

2.1. mouseClicked

void setup() {
  size(400, 400);
  background(255);
}
void draw(){
  
}
void mouseClicked() {
  fill(0);
  ellipse(mouseX, mouseY, 20, 20);
}

2.2. mouseReleased

void setup() {
  size(400, 400);
  background(255);
}
void draw(){
  
}
void mouseReleased() {
  fill(0);
  ellipse(mouseX, mouseY, 20, 20);
}
PR