トップページに、Processingについて書いた記事を、辞書のように見つけやすくしてみました

【Processing】second()関数の使い方【今の秒数を表示してくれる】

【Processing】second()関数の使い方【今の秒数を表示してくれる】
  • URLをコピーしました!
ワタタク

今回の記事の目的はProcessingの「second()関数」を理解し、自分なりに使ってみること。

この記事を書いた人
ワタタク
  • クリエイティブコーディング初心者が、アーティストとして活躍するまでの上達の過程を発信
  • コンセプトは「クリエイティブコーディング1万時間の歩き方」
  • 参考にしてもらえるブログにするため、Processingを独学で勉強して共有中

記事内のProcessingのバージョンは4.3。

動きのある画像は、コードではなく、GIF画像編集で無限再生されるようにしています。

目次

【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()関数を使ってみた感想

秒ごとに、自分の作った作品を、スライドショーのように表示させていくのも良さそう。

ポートフォリオとしても使えるだろうし、アニメーションみたいな使い方もできる。

パラパラ漫画みたいな表現もできるだろうし、表現の可能性がかなり広げてもらえて学んで良かったと思う。

ワタタク

それでは今日もレッツワクワクコーディング。

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!
目次