#Everydays #day1/365
1000個の円のアニメーション。
いま円の個数を全部ベタで書いてるけど、
#define NUM 1000
みたいに定義したほうがスマートだったな。
具体的な数値は、一旦変数にいれられないか考えるようにしよう。
#include "ofApp.h" float loc_x[1000];[f:id:kzhrknt:20170412153932p:plain] float loc_y[1000]; float radius[1000]; float speed_x[1000]; float speed_y[1000]; int width; int height; //-------------------------------------------------------------- void ofApp::setup(){ ofBackground(0, 0, 0); ofSetFrameRate(60); ofEnableAlphaBlending(); ofSetCircleResolution(64); width = ofGetWidth(); height = ofGetHeight(); int i; for (i=0; i < 1000; i++) { loc_x[i] = ofRandom(0, width); loc_y[i] = ofRandom(0, height); radius[i] = ofRandom(10, 30); speed_x[i] = ofRandom(-10, 10); speed_y[i] = ofRandom(-10, 10); } } //-------------------------------------------------------------- void ofApp::update(){ for (int i=0; i < 1000; i++) { loc_x[i] += speed_x[i]; loc_y[i] += speed_y[i]; if(loc_x[i] < 0){ speed_x[i] = -1*speed_x[i]; } if(loc_y[i] < 0){ speed_y[i] = -1*speed_y[i]; } if (loc_x[i] > width) { speed_x[i] = -1*speed_x[i]; } if (loc_y[i] > height) { speed_y[i] = -1*speed_y[i]; } } } //-------------------------------------------------------------- void ofApp::draw(){ ofSetColor(100, 100, 200, 100); for (int i = 0; i < 1000; i++) { ofDrawCircle(loc_x[i], loc_y[i], radius[i]); } }