キーボードからの入力に反応して、画面が変化するプログラムを学ぶ。
keyPressed キーが押されている(== true)、押されていない(== false)
キーが押されているとき、円が左から右にすすむ
int x = 0;
void setup() {
size(400, 400);
}
void draw() {
background(204);
if (keyPressed == true) {
x++;
//println(key);
}
ellipse(x, height/2, 60, 60);
}
key 押されたキーの文字や記号を納める変数
キーのa(小文字のエー)が押されているとき、円が左から右にすすむ
int x = 0;
void setup() {
size(400, 400);
}
void draw() {
background(204);
if ((keyPressed == true) && (key == 'a')) {
x++;
}
ellipse(x, height/2, 60, 60);
}
※大文字小文字を問わないようにするためには、次のように「aまたはAが押されているとき」で条件を設定する
int x = 0;
void setup() {
size(400, 400);
}
void draw() {
background(204);
if ((keyPressed == true) && ((key == 'a') || (key == 'A'))) {
x++;
}
ellipse(x, height/2, 60, 60);
}
void keyPressed() {...} キーが押されたときに1回だけ {...} の中を実行する
※キーを押しっぱなしにして一定時間経つと、キーの連続入力状態になり、そのスピードに合わせ連続して実行される。
キーが押されると、円が1ピクセルだけ左から右にすすむ
int x = 0;
void setup() {
size(400, 400);
}
void draw() {
}
void keyPressed() {
background(204);
x++;
ellipse(x, height/2, 60, 60);
//println(key);
}
void keyReleased() {...} キーが離されたときに1回だけ {...} の中を実行する
キーが離されると、円が止まる
int x = 0;
int speed = 1;
void setup() {
size(400, 400);
}
void draw() {
background(204);
x = x + speed;
ellipse(x, height/2, 60, 60);
}
void keyReleased() {
speed = 0;
}
押されたキーの文字を表示する
※事前に「Tools」の「Create Font...」でフォントデータを生成しておく。(教科書86ページまたは1a-07 画像や文字を使うを参照)
int x = 0, y = 50;
PFont font;
void setup() {
size(400, 400);
background(0);
fill(255, 128);
font = loadFont("Serif-48.vlw");
textFont(font, 48);
//textAlign(CENTER);
}
void draw() {
}
void keyPressed() {
text(key, x, y);
}
void keyReleased() {
x += 10;
if (x > width) {
x = 0;
y += 50;
}
}
練習
- 文字の出現位置をランダムにしてみる
- 文字の色をランダムにしてみる
- スペースキーを押すと、画面がリセットされる
- Newer: 1b-06 時間を表示する
- Older: 1b-04 反応させる(マウスからの入力に)


![Built with Processing [改訂版]](http://ecx.images-amazon.com/images/I/41XEE%2BuMOzL._SL160_.jpg)




