2010年10月10日 星期日

Processing 筆記 (九)- 定義函數

1. 除了 processing 內建的的函數(可稱為 method 或 function)之外,使用者也可自行定義之。其定義需包含三要項:(1) 回傳模式 (2) 函數名稱 (3) 引數。

2. 以下面程式碼為例(圓心碰到左右兩邊則改變圓的移動方向):

// 宣告變數

int x = 0;
int speed = 1;

void setup(){
  size(200, 200);
  smooth(); // 柔化邊緣
}

void draw(){
  background(255); // 背景為白色
  x= x + speed;
 
// 若 x 大於呈像螢幕寬度或小於 0時,則轉向
  if((x > width) || (x < 0)){
    speed = speed * -1;
  }
 
  stroke (0); //線條為黑色
  fill(175); // 內部為灰色
  ellipse(x, 100, 32, 32); // 圓心的 x 位置為變數而可移動
}


3. 上例可以藉由自行定義函數,來重新更改程式的架構。


int x = 0;
int speed = 1;

void setup(){
  size (200, 200);
  smooth();
}

// 呼叫自行定義的三個函數 move(), bounce(), 與 display()
void draw(){
  background(255);
  move();
  bounce();
  display();
}

//定義 move() 函數
void move(){
  x = x + speed;
}

//定義 bounce() 函數
void bounce(){
  if ((x > width) || (x < 0)){
    speed = speed * -1;}
}

//定義 display() 函數
void display(){
  background(255);
  stroke(0);
  fill(175);
  ellipse(x, 100, 32, 32);
  }

沒有留言:

張貼留言