ワタタク
今回の記事の目的はProcessingのredraw()
関数を理解し、自分なりに使ってみること。
目次
【Processing】redraw()関数について
redraw()関数について
redraw()
関数は、「今すぐdraw()
関数を一回だけ実行して!」とProcessingにお願いするための関数draw()
関数が何度も何度も繰り返し実行されることで、アニメーションを作ることが可能。でも、時々、draw()
関数を繰り返し実行せずに、必要なときだけ実行したいことがあります。そんなときに使うのがredraw()
関数
【Processing】redraw()関数の主な書き方
マウスがクリックされたときに`draw()`関数を一回だけ実行する
void mousePressed() {
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回だけ実行する」というイメージが使うまで分からなかった。
使ってみると面白い。