2019年9月26日 星期四

Week03_小畫家_processing可以黏貼彩色的文字!!!~

1. 最簡單的小畫家

Code

void setup(){
  size(600, 400);
}

void draw(){
  if(mousePressed){
                                               // pmouseX, pmouseY 代表滑鼠上一個時間點的座標
    line(mouseX, mouseY, pmouseX, pmouseY);

  }
}



2. 小畫家-用鍵盤調顏色、粗細


Code

void setup() {
  size(600, 400);
  background(#334455);                 //設定背景顏色
  stroke(255, 188, 0);                      //改筆觸的顏色
  strokeWeight(10);                         //改筆觸的粗細
}

void draw() {
                                                      //透過鍵盤控制筆觸的顏色或粗細
  if (key=='1') stroke(255, 0, 0);
  if (key=='2') stroke(255, 100, 0);
  if (key=='3') strokeWeight(20);
  if (key=='4') strokeWeight(10);
  
  if (mousePressed) {
                                                      // pmouseX, pmouseY 代表滑鼠上一個
    line(mouseX, mouseY, pmouseX, pmouseY);
  }
}

3.小畫家-用按鈕調顏色、粗細


原始的Code

void setup() {
  size(600, 400);
  background(#FFFFFF);                            //設定背景顏色

                                                                    //畫顏色選擇器
  fill(255, 0, 0);                                             //紅色選擇鈕
  rect(0, 0, 50, 50);
  fill(0, 255, 0);                                             //綠色選擇鈕
  rect(0, 50, 50, 50);
  fill(0, 0, 255);                                             //藍色選擇鈕
  rect(0, 100, 50, 50);
  
                                                                    // 畫粗細選擇器
  fill(255, 255, 255);
  rect(0, 150, 50, 250);
                                                                    // 畫三角形的部分
  line(0, 400, 25, 150);
  line(25, 150, 50, 400);
}

void draw() {
                                                                     //顏色選擇和粗細調整的部分
  if (mousePressed && mouseX<50) {
    if (mouseY < 50) stroke(255, 0, 0);          //改筆觸的顏色為紅色
    else if (mouseY < 100) stroke(0, 255, 0); //改筆觸的顏色為綠色
    else if (mouseY < 150) stroke(0, 0, 255); //改筆觸的顏色為藍色
    else {
      strokeWeight((mouseY-150)/10);            //改筆觸的粗細
    }
  }

                                                                      //畫畫
  if (mousePressed && mouseX>50) {
                                                                     //pmouseX, pmouseY 代表滑鼠上一個
    line(mouseX, mouseY, pmouseX, pmouseY);
  }
}

更改後的Code

void setup() {
  size(600, 400);
  background(#FFFFFF);                        //設定背景顏色

  // 畫顏色選擇器
  fill(255, 0, 0);                            //紅色選擇鈕
  rect(0, 0, 50, 50);
  fill(0, 255, 0);                            //綠色選擇鈕
  rect(0, 50, 50, 50);
  fill(0, 0, 255);                            //藍色選擇鈕
  rect(0, 100, 50, 50);

                                              // 畫粗細選擇器
  fill(255, 255, 255);
  rect(0, 150, 50, 250);
                                              // 畫三角形的部分
  line(0, 400, 25, 150);
  line(25, 150, 50, 400);
}

void draw() {
}

                                              // 滑鼠按下
void mousePressed() {
                                              //顏色選擇和粗細調整的部分
  if (mouseX < 50) {
    if (mouseY < 50) stroke(255, 0, 0);       //改筆觸的顏色為紅色
    else if (mouseY < 100) stroke(0, 255, 0); //改筆觸的顏色為綠色
    else if (mouseY < 150) stroke(0, 0, 255); //改筆觸的顏色為藍色
    else {
      strokeWeight((mouseY-150)/10);          //改筆觸的粗細
    }
  }
}

                                              //滑鼠拖曳
void mouseDragged() {
                                              //畫畫
  if (mouseX > 50) {
                                              //pmouseX,pmouseY代表滑鼠上一個
    line(mouseX, mouseY, pmouseX, pmouseY);
  }
}

                                              //鍵盤控制
void keyPressed() {
  if (keyCode == UP) {
    println("hello");
  }
}

4. 貼彩色程式碼的方法

*****要補

沒有留言:

張貼留言

alanhc 互動技術-week17 [final]

回顧這學期的作品:  期中作業:LANDING:PLANET 賣點&特點: 炫麗的特效 物理(星球重力及降落)及粒子系統(噴射) 世界地圖可根據視角縮放 困難點: 重寫3次最終改寫成物件導向的CLASS寫法...