mouseX, mouseY マウスポインタの位置(座標)
現在のマウスポインタの位置に円が描かれる。
void setup() {
size(400, 400);
}
void draw() {
ellipse(mouseX, mouseY, 60, 60);
}
pmouseX, pmouseY 前フレームのマウスポインタの位置(座標)
前フレームのマウスポインタの位置から現フレームのマウスポインタの位置に線が描かれる。(マウスを動かすと、線が描かれるように見える)
void setup() {
size(400, 400);
}
void draw() {
line(mouseX, mouseY, pmouseX, pmouseY);
}
mousePressed マウスボタンが押されている(== true)、押されていない(== false)
マウスボタンを押している間、線が描かれる。
void setup() {
size(400, 400);
strokeWeight(10);
}
void draw() {
if (mousePressed == true){
line(mouseX, mouseY, pmouseX, pmouseY);
}
}
mousePressed() {...} マウスボタンが押されたときに1回だけ {...} の中を実行する
マウスボタンを押すと、円が描かれる。
void setup() {
size(400, 400);
}
void draw() {
}
void mousePressed() {
ellipse(mouseX, mouseY, 60, 60);
}
mouseReleased() {...} マウスボタンが離されたときに1回だけ {...} の中を実行する
マウスボタンを押している間、線が描かれる。ボタンが離されると線が消える。
void setup() {
size(400, 400);
strokeWeight(10);
}
void draw() {
if (mousePressed == true){
line(mouseX, mouseY, pmouseX, pmouseY);
}
}
void mouseReleased() {
background(204); //マウスボタンが離されると画面がリセットされる
}
練習:次のような動作をするプログラムを書く
マウスポインタの位置に赤い円が描かれる。マウスボタンを押すと、円の塗り色が変わる。
マウスボタンを押すと、前回マウスボタンを押した位置からの折れ線が描ける。
keyPressed キーが押されている(== true)、押されていない(== false)
キーが押されているとき、円が左から右にすすむ
float x = 0.0;
float speed = 1.0;
void setup() {
size(400, 400);
}
void draw() {
background(204);
if (keyPressed == true) {
x += speed;
//println(key);
}
ellipse(x, height/2, 60, 60);
}
key 押されたキーの文字や記号を納める変数
キーのa(小文字のエー)が押されているとき、円が左から右にすすむ
float x = 0.0;
float speed = 1.0;
void setup() {
size(400, 400);
}
void draw() {
background(204);
if ((keyPressed == true) && (key == 'a')) {
x += speed;
}
ellipse(x, height/2, 60, 60);
}
※大文字小文字を問わないようにするためには、次のように「aまたはAが押されているとき」で条件を設定する
float x = 0.0;
float speed = 1.0;
void setup() {
size(400, 400);
}
void draw() {
background(204);
if ((keyPressed == true) && ((key == 'a') || (key == 'A'))) {
x += speed;
}
ellipse(x, height/2, 60, 60);
}
keyPressed() {...} キーが押されたときに1回だけ {...} の中を実行する
※キーを押しっぱなしにして一定時間経つと、キーの連続入力状態になり、そのスピードに合わせ連続して実行される。
キーが押されると、円が1ピクセルだけ左から右にすすむ
float x = 0.0;
float speed = 1.0;
void setup() {
size(400, 400);
}
void draw() {
}
void keyPressed() {
background(204);
x += speed;
ellipse(x, height/2, 60, 60);
//println(key);
}
keyReleased() {...} キーが離されたときに1回だけ {...} の中を実行する
キーが離されると、円が止まる
float x = 0.0;
float speed = 1.0;
void setup() {
size(400, 400);
}
void draw() {
background(204);
x += speed;
ellipse(x, height/2, 60, 60);
}
void keyReleased() {
speed = 0.0;
}