ワタタク
今回の記事の目的はProcessingの「second()
関数」を理解し、自分なりに使ってみること。
目次
【Processing】second()関数について
second()関数について
- secondは英語で「秒」を意味する
second()
は、現在の秒の値(0から59)を表示する関数- 【注意点】0から59までの整数を表示するだけなので、プログラムの中でそれをどう使うか考える必要がある
【Processing】second()関数の書き方【構文】
second()関数の書き方【構文】
- second()
【Processing】second()関数の使い方3つ【画像とコード】
【1】プログラム実行時点での、今の秒数をコンソールに表示させる
int nowSecond = second();
println("今の秒数は " + nowSecond + " です");
【2】0~59までの秒数をカウントさせ続ける
void setup() {
size(200, 200);
textSize(32);
}
void draw() {
background(255);
int nowSecond = second();
fill(0); // 文字色を黒に設定
text(nowSecond, 50, 100);
}
【3】秒ごとに色が変わる円を書く
10行目の解説あり。
void setup() {
size(400, 400);
colorMode(HSB, 255); // 色をHSB(色相、彩度、明度)モードに設定
}
void draw() {
background(255);
int nowSecond = second();
// 秒に応じて色を設定(HSBモード)
fill(map(nowSecond, 0, 59, 0, 255), 200, 200);
ellipse(width / 2, height / 2, 200, 200);
}
10行目のmap()
関数を使う理由は、ある範囲の数字を別の範囲の数字に変えるため。
例えば、second()
関数は0から59までの数字を教えてくれるけど、色の値は0から255までの範囲で表現されることが多い。このままだと直接使えないので、map()
関数を使って0から59の秒数を0から255の色の値に変換する。
学校の先生が成績をAからFに変えるみたいな感じ。今の秒数を、色に変えるための特別な「計算」をしてくれるんだ。
つまり、map()
関数は、数字を新しい範囲に「移動」させるための便利な道具。
関連記事:【Processing】map()関数の使い方【ある範囲の数字を別の範囲に変換する】
【Processing】second()関数はどんな表現で使えそうか
秒ごとに形を変えたり、時計のような表現ができますね。
【Processing】second()関数を使ってみた感想
秒ごとに、自分の作った作品を、スライドショーのように表示させていくのも良さそう。
ポートフォリオとしても使えるだろうし、アニメーションみたいな使い方もできる。
パラパラ漫画みたいな表現もできるだろうし、表現の可能性がかなり広げてもらえて学んで良かったと思う。
それでは今日もレッツワクワクコーディング。