【Processing】redraw()関数の使い方【1回だけ実行してとお願いする魔法の言葉のようなもの】

  • URLをコピーしました!
ワタタク

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

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

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

目次

【Processing】redraw()関数について

redraw()関数について
  • redraw()関数は、「今すぐdraw()関数を一回だけ実行して!」とProcessingにお願いするための関数
  • draw()関数が何度も何度も繰り返し実行されることで、アニメーションを作ることが可能。でも、時々、draw()関数を繰り返し実行せずに、必要なときだけ実行したいことがあります。そんなときに使うのがredraw()関数

【Processing】redraw()関数の主な書き方

マウスがクリックされたときに`draw()`関数を一回だけ実行する

void mousePressed() {
redraw(); //
}

【Processing】redraw()関数の使い方【画像とコード】

マウスを押したときにニコちゃんマークが描かれる

【Processing】redraw()関数の使い方【画像とコード】
void setup() {
  size(500, 500);
  noLoop(); // `draw()`関数を繰り返し実行しないようにする
}

void draw() {
  background(255);
  
  // 顔の部分
  fill(255, 204, 0); // 黄色
  ellipse(mouseX, mouseY, 100, 100); // 顔の円

  // 目の部分
  fill(0); // 黒
  ellipse(mouseX - 20, mouseY - 20, 7, 7); // 左目
  ellipse(mouseX + 20, mouseY - 20, 7, 7); // 右目

  // 口の部分
  noFill();
  stroke(0); // 黒
  strokeWeight(5);
  arc(mouseX, mouseY + 10, 50, 30, 0, PI); // 笑顔の口
}

void mousePressed() {
  redraw(); // マウスがクリックされたときに`draw()`関数を一回だけ実行する
}

【Processing】redraw()関数はどんな表現で使えそうか

スタンプを押すみたいな表現で使える。

音楽なら、マウスクリックしたら、別の音が出る。

写真なら、隠れている部分が見えるようになるとかで使える。

【Processing】redraw()関数を使ってみた感想

redrawには描きなおすという英語の意味があるので、「1回だけ実行する」というイメージが使うまで分からなかった。

使ってみると面白い。

ワタタク(Watataku)
クリエイティブコーダー/アーティスト
AIと共に、「人の心に寄り添う、機能するアート」を探究しています。

ここは、その思索と創造の全記録を記す、思考の実験室(アトリエ)です。

僕の創作の源泉は、人生経験そのものです。
不当な出来事や、精神的な支配の中で、私の心は何度も粉々に砕け散りました。しかし、その一つ一つの破片をどのようにすれば鮮やかな絵の具にできるかを考え、ゆっくり心のパレットに色を整えていきました。その、長い、長い、自身との対話の果てに「人の役に立つアートを作りたい」という考え方にたどり着きました。

かつて、僕の武器は、アコースティックギター弾き語りと、カメラでした。
オリジナルソングの演奏でお客様投票1位となった「物語の力」。
世界20カ国の旅で培った、多様な「視点」。

今、僕は、それら全ての経験を、「コード」という、新しい言語で、世界に問いかけています。

このブログでは、作品の制作過程や、日々の発見、そして、僕自身の上達の軌跡を記録していきます。

僕の旅が、あなたの日常を、ほんの少しでも豊かにするための、光になることを願って。

クリエイティブコーディングロード運営者 ワタタク
よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!
目次