構造

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 |

MANUALS

BASIC SAMPLE I

BASIC SAMPLE II


STRUCTURE
MOUSE&KEYBOARD
VALIABLE
SHAPE&COLOR
OPERATION



OFFICIAL

Processing Official