【Processing】isLooping関数の使い方【動くか、止まるかをコントロールしたいとき】

【Processing】isLooping関数の使い方【動くか、止まるかをコントロールしたいとき】
  • URLをコピーしました!
ワタタク

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

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

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

目次

【Processing】isLooping関数について(構文)

isLooping関数について
  • isLooping()の英語の意味
    • 今、動いてる?という意味
  • draw関数の中で書かれたコードは何度も何度も繰り返し実行される、それをループという
    • isLooping()は今、そのループが動いてるか確認するための関数
    • 今、動いてる?動いてない?を意識しているとコードを読みやすい

【Processing】isLooping関数の主な書き方

void mousePressed () {
if(isLooping()) {
noLoop();
} else {
loop();
}
}

isLooping()がtrueを返す場合:ループが動いているので、noLoop()を呼び出してアニメーションを止めます。

isLooping()がfalseを返す場合:ループが止まっているので、loop()を呼び出してアニメーションを再開します。

isLooping()は「今、動いてる?」と聞いて、動いているなら止める、止まっているなら動かす、ということをしているんです。

【Processing】isLooping関数の使い方【画像とコード】

mousePressedとisLooping関数を組み合わせる

float x = 0;
float speed = 10;

void setup() {
  size(500, 500);
}

void draw() {
 background(0); 

fill(random(255), random(255), random(255));

rect(x++, height/2 -25, 50, 50);

if ( x > width) {
  x = 0;
 }
}

 // isLoopingの主な書き方
void mousePressed() {
 if(isLooping()) {
   noLoop();
 } else {
   loop();
 }
}

keyPressed関数とisLooping関数を組み合わせる

20行目をmousePressedからkeyPressedに変える。

キーを押したら止まったり、動いたりする。

float x = 0;
float speed = 10;

void setup() {
  size(500, 500);
}

void draw() {
 background(0); 

fill(random(255), random(255), random(255));

rect(x++, height/2 -25, 50, 50);

if ( x > width) {
  x = 0;
 }
}

void keyPressed() {
 if(isLooping()) {
   noLoop();
 } else {
   loop();
 }
}

【Processing】isLoopingはどんな表現で使えそうか

だるまさんがころんだケームとかで使える。

【Processing】isLoopingを使ってみた感想

draw内の動作を動かしたり止めたりしたいときは、以下のコードを定型文として使えばいいと思っておくことにした。

void mousePressed () {
if(isLooping()) {
noLoop();
} else {
loop();
}
}

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

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

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

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

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

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

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

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