array_ellipse01
int NUM = 100; //配列の数 //位置のベクトルの配列 PVector[] location = new PVector[NUM]; //速度のベクトルの配列 PVector[] velocity = new PVector[NUM]; void setup() { size(500, 500); //800x600pixelの画面を生成 colorMode(HSB, 360, 100, 100, 100); frameRate(60); //フレームレート noStroke(); //枠線なし smooth(); for (int i = 0; i < NUM; i++) { //配列の数だけ繰り返し //位置のベクトルの初期設定 location[i] = new PVector(0, 0); //速度のベクトルの初期設定 velocity[i] = new PVector(sin(frameCount), cos(frameCount)); } } void draw() { background(0, 0, 99, 90); //背景を描画 for (int i = 0; i < NUM; i++) { //配列の数だけ繰り返し fill(frameCount%360, random(100), random(100)); //指定した位置に円を描画 ellipse(location[i].x+i*5, location[i].y, mouseX, mouseY); //位置のベクトルに速度のベクトルを加算、次の位置になる location[i].add(velocity[i]); //もし画面の左端、または右端に到達したら if ((location[i].x > width) || (location[i].x < 0)) { velocity[i].x *= -1; //X方向のスピードを反転 } //もし画面の下端、または上端に到達したら if ((location[i].y > height) || (location[i].y < 0)) { velocity[i].y *= -1; //Y方向のスピードを反転 } } }
配列の勉強をするために田所さんの
第5回 Processing実習 1 : 動きを生みだす – アニメーションとベクトル | yoppa orgをコピーして,いじる.でも,まだ全然わからない.PVector
もわからないから,ふたつわからないことがあって,全くわからない状態になっていて,スケッチを1日1スケッチ書き始めたときのように,右も左も分からない状態になっている.困った…