2017年9月25日 星期一

Week02*互動技術課堂筆記*

【利用Processing】


*小畫家優化*
*試著做出小遊戲*
*上貼圖囉*


1.更改顏色及粗度,並使用滑鼠更改













程式碼:
void setup(){            //初始化
  size(800,600);          //視窗為長800、寬600
  colorMode(HSB,100);   //色彩函數,H:色相、S:飽和度、B:亮度
}
void draw(){    //畫出一條線
  line(mouseX,mouseY,pmouseX,pmouseY);
}
void mousePressed(){   //當滑鼠按下去,改變粗度
  if(mouseX<100){    //當滑鼠X軸小於100
    strokeWeight(mouseY/50);   //改變筆刷粗度
  }
  if(mouseX>700){   //改變筆刷顏色
    stroke(mouseY/6.0,100,100);  //(H,S,B)
  }



2.調整小畫家版面













程式碼:
vod setup(){

  size(800,600);

  rect(width-100,0,width,height);    

  rect(0,0,100,height);

  colorMode(HSB,100);
}
void draw(){
  if(mousePressed)line(mouseX,mouseY,pmouseX,pmouseY);
}
void mouseDragged(){  //滑鼠拖曳
  if(mouseX<100){
    strokeWeight(mouseY/50);
  }
  if(mouseX>width-100){   //當X軸座標大於視窗寬度-100
    stroke(mouseY/6.0,100,100);   //根據Y軸座標除6=100
  }
}

3.色彩













程式碼:
noStroke();
colorMode(HSB,100);
for(int i=0;i<100;i++)
{
  for(int j=0;j<100;j++)
  {
    stroke(i,100,100);
    point(i,j);
  }
}

4.小遊戲













程式碼:
void setup(){
  size(720,720,P2D);
}
float pX=-100,pY=-100,r=100;
void draw(){
  ellipse(pX,pY,r,r);
  if(r>3){
    r-=10;
    pX+=13;
  }
}
void mousePressed(){
  pX=mouseX;pY=mouseY;r=100;
}

5.OpenProcessing程式碼













程式碼:
int c = 255;
float angle = 0;

void setup() {
    size(500, 500);
    noStroke();
}

void draw() {
    background(0);
    translate(width / 2, height / 2);
    c = 255;
    float rSub = map(mouseX, 0, width, 5, 20);
    float aAdd = map(mouseY, 0, height, PI / 2.0, PI / 48.0);
    cic(width / 2, rSub, angle, aAdd); 
    angle += PI / 23.0;
}

void cic(float radius, float rSub, float angle, float aAdd) {
    pushMatrix();
    do {
        fill(c);
        c = 255 - c;
        ellipse(0, 0, radius * 2, radius * 2);
        radius -= rSub;
        angle += aAdd;
        float r = rSub * 0.6;
        float x = cos(angle + aAdd) * r;
        float y = sin(angle + aAdd) * r;
        translate(x, y);
    } while(radius >= 1);
    popMatrix();
}

6-1.貼圖片














程式碼:
size(800,600);  //視窗大小

background(200,100,0);  //背景顏色(RGB)

PImage img=loadImage("00.jpg");  //將圖片丟入OpenProcessing內,讀取圖片名稱

image (img,0,0,500,500);  //圖片顯示大小


6-2.貼圖片,一個跟著滑鼠移動















程式碼:

PImage img1,img2;
void setup(){
  size(500,500);
  img1=loadImage("00.jpg");
  img2=loadImage("000.jpg");
}
void draw(){
  background(0,255,0);
  image(img1,mouseX,mouseY,100,100);
  image(img2,200,200,100,100);
}

7.小遊戲2.0















程式碼:
void setup(){

  size(720,720,P2D);  //P2D是2D平面的意思,P3D是3D立體的意思

}

void draw(){

}
void mouseDragged(){   //滑鼠拖曳
  ellipse(mouseX,mouseY,100,100);  //畫圓圈
}







沒有留言:

張貼留言