構造
setup()
ウィンドウサイズの定義などの初期化作業をこの中で行います。void setup() {
statements
}
// 例
void setup() {
size(200, 200);
}
draw()
描画のメインループ。停止がかからない限り、この中の処理を繰り返します。draw() {
statements
}
// 例
void draw() {
background(204);
yPos = yPos - 1.0;
if(yPos 0) {
yPos = height;
}
line(0, yPos, width, yPos);
}
loop() / noLoop()
draw()に定義された処理を継続/中断する命令です。loop() / noLoop()
// 例 この例では、マウスが押されている間、draw()の処理が繰り返されます。
void setup() {
size(200, 200);
noLoop();
}
float x = 0;
void draw() {
background(204);
x = x + .1;
if (x > width) {
x = 0;
}
line(x, 0, x, height);
}
void mousePressed() {
loop();
}
void mouseReleased() {
noLoop();
}
| PAGE TOP |
関数の定義と利用
何度も利用する「一連の処理」は、「関数」として別途定義してしまうと、プログラム全体はすっきりします。関数とは、あるまとまった仕事をする「下請け会 社」のようなものだと考えてください。関数には、「引数(ひきすう)」と「戻り値」があります。処理に必要な情報(引数)を受け取って、何らかの処理を行い、その結果を元のプログラムへ返 す・・・というのが関数本来の役割です。
下に簡単な例を示します。ここからコピー&ペーストしてお試し下さい。
この程度の例では、関数を使う意味はさほどないのですが、大きなプログラムになると、drawの中をわかりやすくシンプルに記述することが必要になりま す。この例では、関数を利用したことで、メインループ(draw)の中身がたったの2行になっています。
float x,y;
float vx,vy;
int radius;
void setup(){
size(256,256);
frameRate(60);
colorMode(RGB,255,255,255);
x = width / 2;
y = height / 4;
vx = 5;
vy = 7;
radius = 18;
}
void draw(){
setPosition();
drawSphere(randomColor());
}
// 引数も戻り値もない関数(外部変数を使用)
void setPosition(){
x = x+vx;
y = y+vy;
if( x<radius || width - radius<x ) vx = -vx;
if( y<radius || height - radius<y ) vy = -vy;
}
// 戻り値を返す関数
color randomColor(){
color c;
c = color(64,random(128,256),random(128,256));
return c;
}
// 引数を利用する関数
void drawSphere(color c){
noStroke();
fill(c);
ellipse(x,y,radius*2,radius*2);
}
| PAGE TOP |
環境
width(幅)height(高さ)
framerate()(フレームレート)
delay()(ディレイ)
smooth()(スムーズ)
noSmooth()(スムーズなし)
cursor()(カーソル)
noCursor()(カーソルなし)
save()(セーブ)
saveFrame()(フレーム保存)
| PAGE TOP |
制御
if
条件によって分岐します。if(expression) {
statements
} else if(expression) {
statements
} else {
statements
}
// 例
if(i < 35) {
line( 30, i, 80, i );
} else {
line( 20, i, 90, i );
}
関係演算子
== (equality)
> (greater than)
>= (greater than or equal to)
!= (inequality)
< (less than)
<= (less than or equal to)
論理演算子
&& (logical AND)
! (logical NOT)
|| (logical OR)
for
初期値から始まって、条件が満たされている間は、値を更新しながら繰り返します。for (init; test; update) {
statements
}
// 例
for (int i = 0; i < 80; i = i+5) {
line(30, i, 80, i);
}
while
条件が満たされている間は、中の処理を繰り返します。while (expression) {
statements
}
int i=0;
while(i<80) {
line(30, i, 80, i);
i = i + 5;
}
| PAGE TOP |