インタラクティブ・プログラミングに関するトピックと、変数のスコープについて紹介します。
マウスイベントの発生を検出する関数の例です。
関数 mousePressed() はマウスボタンが押される度に実行される関数です。
int value = 0;
void setup()
{
size(400, 300);
}
void draw()
{
background(value);
fill(255-value);
rect(150, 100, 100, 100);
}
void mousePressed()
{
if (value == 0) {
value = 255;
} else {
value = 0;
}
}
関数 mouseReleased() はマウスボタンが離される度に実行される関数です。
int value = 0;
void setup()
{
size(400, 300);
}
void draw()
{
background(value);
fill(255-value);
rect(150, 100, 100, 100);
}
void mouseReleased()
{
if (value == 0) {
value = 255;
} else {
value = 0;
}
}
関数 mouseDragged() はマウスドラッグが検出される度に実行される関数です。
void setup()
{
size(600, 400);
background(255);
}
void draw()
{
}
void mouseDragged()
{
stroke(0);
circle(mouseX, mouseY, 10);
}
void setup()
{
size(600, 400);
background(255);
}
void draw()
{
}
void mouseDragged()
{
stroke(0);
strokeWeight(4);
line(pmouseX, pmouseY, mouseX, mouseY);
}
PFont font; // フォント
void setup()
{
size(400, 300);
font = createFont("Noto Sans CJK JP", 32); // フォントを選択
textFont(font); // 表示に使うフォントに指定
}
void draw()
{
background(255);
fill(0);
text("こんにちは", 100, 150);
}
PFont font; // フォント
String s = "こんにちは";
void setup()
{
size(400, 300);
font = createFont("Noto Sans CJK JP", 32); // フォントを選択
textFont(font); // 表示に使うフォントに指定
}
void draw()
{
background(255);
fill(0);
text(s, 100, 150);
}
PFont font; // フォント
void setup()
{
size(400, 300);
background(255);
font = createFont("Noto Sans CJK JP", 32); // フォントを選択
textFont(font); // 表示に使うフォントに指定
}
void draw()
{
background(255);
fill(0);
int h = hour();
int m = minute();
int s = second();
String t = nf(h, 2) + ":" + nf(m, 2) + ":" + nf(s, 2);
text(t, 100, 150);
}
キー入力を検出する関数。
void setup()
{
size(400, 300);
}
void draw()
{
}
void keyPressed()
{
background(255);
fill(0);
textSize(60);
text(key, width/2, height/2);
}
PFont font; // フォント
String playerHand = "";
void setup()
{
size(800, 600);
background(255);
font = createFont("Noto Sans CJK JP", 32); // フォントを選択
textFont(font); // 表示に使うフォントに指定
}
void draw()
{
background(255);
fill(0);
text("g:グー c:チョキ p:パー", 100, 100);
text("あなたの手:" + playerHand, 100, 200);
}
void keyPressed()
{
if (key == 'g') {
playerHand = "グー";
} else if (key == 'c') {
playerHand = "チョキ";
} else if (key == 'p') {
playerHand = "パー";
} else {
return; // 無関係なキーは無視
}
}