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

【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回だけ実行する」というイメージが使うまで分からなかった。

使ってみると面白い。

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