顯示具有 01160306_呂季樺 標籤的文章。 顯示所有文章
顯示具有 01160306_呂季樺 標籤的文章。 顯示所有文章

2015年1月18日 星期日

Final_影片及程式碼

影片:




*******************程式碼*******************
ARDUINO:
void setup(){
  Serial.begin(9600);
  pinMode(2,INPUT_PULLUP);
  pinMode(3,INPUT_PULLUP);
  pinMode(4,INPUT_PULLUP);
  pinMode(5,INPUT_PULLUP);
  pinMode(13,OUTPUT);
}
int now2=0,now=0,now3=0,now4=0;
void loop(){
  int pressButtonLeft = digitalRead(2);
  int pressButtonRight = digitalRead(3);
  int restart = digitalRead(5);
  int shoot = digitalRead(4);
  if(now==1 && pressButtonLeft==HIGH){//left
    digitalWrite(13,LOW);
    Serial.write('A');  
    now=0;
  }
  else if(now==0 && pressButtonLeft == LOW){
    digitalWrite(13, HIGH);
    Serial.write('a');
    now=1;
  }
  delay(10);

  if(now2==1 && pressButtonRight ==HIGH){//right
    digitalWrite(13,LOW);
    Serial.write('B');  
    now2=0;
  }
  if(now2==0 && pressButtonRight == LOW){
    digitalWrite(13, HIGH);
    Serial.write('b');
    now2=1;
  }
  delay(10);

  if(now3==1 && shoot ==HIGH){//shot
    digitalWrite(13,LOW);
    Serial.write('C');  
    now3=0;
  }
  if(now3==0 && shoot == LOW){
    digitalWrite(13, HIGH);
    Serial.write('c');
    now3=1;
  }
  delay(10);

  if(now4==1 && restart ==HIGH){//shot
    digitalWrite(13,LOW);
    Serial.write('D');  
    now4=0;
  }
  if(now4==0 && restart == LOW){
    digitalWrite(13, HIGH);
    Serial.write('d');
    now4=1;
  }
  delay(10);

}




PROCESSING:

import processing.serial.*;
import ddf.minim.*;
AudioPlayer player1, player2, player3;
Minim minim;//audio context
Serial myPort;
PImage plane[]=new PImage[3], imgBG, canon, bullet;
int pX[]= {
  0, 0, 0
}
, pY[]= {
  0, 0, 0
}
, cX[]= {
  375
}
, cY[]= {
  500
}
, bX[]= {
  387
}
, bY[]= {
  520
};
float pVX[]= {
  1, 1, 1
}
, pVY[]= {
  1, 1, 1
}
, bVY=2, bLife[]= {
  0
}
, pbX[]= {
  0, 0, 0
}
, pbY[]= {
  0, 0, 0
}
, pbv=1;
int shoot=0, gameover=-10, score=0;
void setup() {
  size(800, 600);
  myPort = new Serial(this, "COM3", 9600);
  imgBG=loadImage("sky.png");
  canon=loadImage("canon.png");
  bullet=loadImage("bullet.png");
  for (int i=0; i<3; i++)  plane[i]=loadImage("plane"+int(random(3))+".png");
  for (int i=0; i<3; i++) {//plane and planeBullet begin
    pX[i]=int(random(30))*25;
    pbX[i]=pX[i]+30;
    pY[i]=int(random(7))*25+25;
    pbY[i]=pY[i]+31;
  }
  minim = new Minim(this);
  player1 = minim.loadFile("BGM.mp3", 2048);
  player2 = minim.loadFile("bomb.mp3", 2048);
  player3 = minim.loadFile("shoot.mp3", 2048);
  player1.play();
}
void draw() {
  background(255);

  if (myPort.available()>0) {
    int a=myPort.read();
    if (a=='b') {
      cX[0]+=50;
      bX[0]+=50;
    }
    if (a=='a') {
      cX[0]-=50;
      bX[0]-=50;
    }
    if (a=='c')shoot++;
    if (a=='d') {
      gameover=-1;
      score=0;
    }
  }
  if (gameover>0) {//Gameover
    fill(255, 0, 0);
    rect(0, 0, 800, 600);
    textSize(100);
    fill(0);
    text("GameOver!", 125, 200);
    textSize(80);
    text("Score = "+score, 125, 300 );
    textSize(40);
    text("click backspace to replay", 125, 400 );
  } else {
    image(imgBG, 0, 50);
    image(bullet, bX[0], bY[0], 40, 40);
    image(canon, cX[0], cY[0], 80, 100);
    fill(0);
    textSize(18);
    text("use <- and -> to control canon location, click Ctrl to shoot.", 5, 20);
    for (int i=0; i<3; i++) {//hit
      if (abs(pX[i]-bX[0])<100 &&abs(pY[i]-bY[0])<15) {
        score+=1;
        pY[i]=-100;
        pbY[i]=-100;
        player2 = minim.loadFile("bomb.mp3", 2048);
        player2.play();
      }
    }
    text("Score = "+score, 5, 40);
    for (int i=0; i<3; i++) {//canon hit
      if (abs(pbX[i]-cX[0])<=20 &&pbY[i]>500 ) gameover++;
    }
    for (int i=0; i<3; i++) {//draw plane and planeBullet
      fill(0);
      ellipse(pbX[i], pbY[i], 10, 10);
      image(plane[i], pX[i], pY[i], 100, 60);
    }
    for (int i=0; i<3; i++) {//plane speed and pBspeed
      if (pX[i]>700) {
        pX[i]=0;
        pbX[i]=30;
        plane[i]=loadImage("plane"+int(random(3))+".png");
        pY[i]=int(random(7))*25+25;
        pVX[i]=1;
      } else if (pbY[i]>600) {
        pbY[i]=pY[i]+31;
        pbv=1;
      } else {
        pX[i]+=pVX[i];
        pbX[i]+=pVX[i]-0.02;
        pVX[i]+=0.05;
        pbY[i]+=pbv;
        pbv+=0.05;
      }
    }
    if (shoot>0) {
      //image(bullet,bX[0],bY[0],40,40);

      for (int j=0; j<1; j++) {//canonBullet speed
        if (bY[j]<30) {
          bX[j]=cX[0]+20;
          bY[j]=500;
          bVY=2;
          shoot=0;
        } else {
          bY[j]-=bVY;
          bVY+=0.5;
        }
      }
    }
  }
}
void keyPressed() {
  if (keyCode==RIGHT && cX[0]<725 && bY[0]<500) cX[0]+=50;
  else if (keyCode==RIGHT && cX[0]<725 ) {
    cX[0]+=50;
    bX[0]+=50;
  }
  if (keyCode==LEFT && cX[0]>0&& bY[0]<500) cX[0]-=50;
  else if (keyCode==LEFT && cX[0]>0) {
    cX[0]-=50;
    bX[0]-=50;
  }
  if (keyCode==CONTROL) {
    shoot++;
    player3 = minim.loadFile("shoot.mp3", 2048);
    player3.play();
  }
  if (keyCode==32) {
    gameover=0;
    score=0;
    for (int i=0; i<3; i++) {
      pbY[i]=0;
      pbX[i]=0;
      pX[i]=0;
      pY[i]=0;
    }
  }
}

2015年1月5日 星期一

Week17_呂季樺_01160306

第19週1/19(一)上午10:00-12:00期末作品展示注意事項
1. 期末作品展示, 大家把成品帶過來介紹展示, 同時大家一起票選成績
2. 期末作品影片 1-2分鐘, 拍攝剪輯好貼在 Blog裡面 
3.

作品材料:以空紙盒以及筷子橡皮筋做成理想的機台

2014年12月29日 星期一

Week16_呂季樺_01160306

今日作品進度:
將按鈕與程式碼結合,做出可以左右移動的按鈕以及射子彈之後要拿工具做出硬體變成可以玩的機台

ARDUINO:

void setup(){
  Serial.begin(9600);
  pinMode(2,INPUT_PULLUP);
  pinMode(3,INPUT_PULLUP);
  pinMode(4,INPUT_PULLUP);
  pinMode(5,INPUT_PULLUP);
  pinMode(13,OUTPUT);
}
int now2=0,now=0,now3=0,now4=0;
void loop(){
  int pressButtonLeft = digitalRead(2);
  int pressButtonRight = digitalRead(3);
  int restart = digitalRead(5);
  int shoot = digitalRead(4);
  if(now==1 && pressButtonLeft==HIGH){//left
    digitalWrite(13,LOW);
    Serial.write('A');   
    now=0; 
  }
  else if(now==0 && pressButtonLeft == LOW){
    digitalWrite(13, HIGH);
    Serial.write('a'); 
    now=1;
  }
  delay(10);

  if(now2==1 && pressButtonRight ==HIGH){//right
    digitalWrite(13,LOW);
    Serial.write('B');   
    now2=0; 
  }
  if(now2==0 && pressButtonRight == LOW){
    digitalWrite(13, HIGH);
    Serial.write('b'); 
    now2=1;
  }
  delay(10);

  if(now3==1 && shoot ==HIGH){//shot
    digitalWrite(13,LOW);
    Serial.write('C');   
    now3=0; 
  }
  if(now3==0 && shoot == LOW){
    digitalWrite(13, HIGH);
    Serial.write('c'); 
    now3=1;
  }
  delay(10);

  if(now4==1 && restart ==HIGH){//shot
    digitalWrite(13,LOW);
    Serial.write('D');   
    now4=0; 
  }
  if(now4==0 && restart == LOW){
    digitalWrite(13, HIGH);
    Serial.write('d'); 
    now4=1;
  }
  delay(10);

}


PROCESSING:

if(myPort.available()>0){
     int a=myPort.read();
     if(a=='B'){cX[0]+=50;bX[0]+=50;}
     if(a=='A'){cX[0]-=50;bX[0]-=50;}
     if(a=='C')shoot++;
     if(a=='D'){gameover=-1;score=0;}
  }

2014年12月22日 星期一

Week15_呂季樺_01160306

1. 口頭上複習之前學過的內容
1.1. Arduino 的 Output (LED, Motor, Servo)
1.2. Arduino 的 Input (Button PULL_UP, 可變電阻, 光敏電阻)
1.3. Arduino 的 Serial COM (communication) 與電腦連接通訊

2. 期中考前教過的內容 Processing 繪圖/互動
http://www.appledaily.com.tw/realtimenews/article/new/20141222/528393/
http://www.dcard.tw/f/funny/p/54614
https://www.youtube.com/watch?v=hb_PvYE9DBg#t=13

================================今日進度將按鈕與其中作業做結合=================================



2014年12月15日 星期一

Week14_呂季樺_01160306

1. 目標: 旋鈕 (可變電阻) Analog Input
http://arduino.cc/en/pmwiki.php?n=Tutorial/AnalogInput


void setup(){
   pinMode(13, OUTPUT);
}
void loop(){
  int value = analogRead(A0);
  digitalWrite(13, HIGH);
  delay(value);
  digitalWrite(13, LOW);
  delay(value);
}


========================利用旋鈕讓P語言方塊去結合移動======================
process:

import processing.serial.*;
Serial myPort;
void setup(){
   size(255+80,200);
  myPort = new Serial(this, "COM5", 9600); 
}
int posX=0;
void draw(){
  background(255);
  fill(#ff0000);rect(posX,0,80,200);
  if(myPort.available()>0){
    posX=myPort.read();//0~255
    println(posX);
  }
}

arduino:
void setup(){
   Serial.begin(9600);
}
void loop(){
  int value = analogRead(A0);//0~1023
  Serial.write(value/4);
  delay(20);
}


2. 目標: 第14週要做期末作品

2014年12月8日 星期一

Week13_呂季樺_01160306

1. 利用 Serial (USB 的 Serial) 來將Arduino的按鍵、旋鈕, 得到輸入值, 都傳給電腦做處理
2. 利用 Serial (USB 的 Serial) 來由電腦 控制 Arduino 的輸出
http://www.arduino.cc/en/Tutorial/InputPullupSerial
http://www.arduino.cc/en/Tutorial/sweep
它可以教你什麼是 ↓
http://arduino.cc/en/pmwiki.php?n=Serial/Print

簡化版
Serial.print() 指令
接下來, 將按鈕 (pin2) 按下去就 ILoveYou, 沒按就 IDon'tLoveYou

皮卡丘打排球

2014年11月24日 星期一

Week11_呂季樺_01160306

TODO: 請去Arduino相關的影片, 然後想想/設計/決定,你的期末作品要做什麼
作範例:

霹靂燈~左右來回練續閃
// Project 3 - Traffic Lights
//三顆LED
int ledDelay=100; // delay in between changes
int a = 10;
int b = 9;
int c = 8;
int d=3;
void setup() {
 pinMode(a, OUTPUT);
 pinMode(b, OUTPUT);
 pinMode(c, OUTPUT);
 pinMode(d,OUTPUT);
}
void loop() {

 // turn the red light on
 digitalWrite(a, HIGH); 
 delay(ledDelay); // wat 2 seconds

 digitalWrite(b, HIGH); // turn on yellow
 digitalWrite(a, LOW); // turn red off
 delay(ledDelay); // wait 2 seconds

 digitalWrite(c, HIGH); // turn green on
 digitalWrite(b, LOW); // turn yellow off
 delay(ledDelay); // wait ledDelay milliseconds

 digitalWrite(d, HIGH); // turn yellow on
 digitalWrite(c, LOW); // turn green off
 delay(ledDelay); // wait 2 seconds

 digitalWrite(c, HIGH); // turn yellow on
 digitalWrite(d, LOW); // turn green off
 delay(ledDelay); // wait 2 seconds

 digitalWrite(b, HIGH); // turn yellow on
 digitalWrite(c, LOW); // turn green off
 delay(ledDelay); // wait 2 seconds
 digitalWrite(b, LOW);

}


3D虛擬科技開發應用-愛迪斯科技公司-胡啟彥先生

今日請來愛迪斯科技公司的胡先生來做業界雙師授課,這次比上次的還要大家,做的專案也更多有趣。
ArduinoUnity等都是他們公司在做專案時常用到的軟體,這些也是他們公司有在代理辦考試及證書,以及加上實境、虛境去結合成擴增實境,可以做導覽及挑東西或是與民眾利用Kinec作互動。
        很多想法及概念才是最重要的,其實技術方面大家都會,重點是創意及想法,怎麼樣才能好玩簡單,讓民眾輕易上手作互動,在講解的過程中,給我們看他們曾經接過的實作商業互動,專業的成果展現!

        像是與Lancer汽車的合作,結合彭傑的連載漫畫著作做精采的互動打卡,也有看國外互動科技在博物館內的文化結合,很多皆是用影像處理在經由投影機去combine投在凹凸不平的實物上,經過過程是去做修正來達到視覺得結合。    還有醫院的手術工具導覽,和腦神經教學利用網頁互動更了解腦神經。

2014年11月12日 星期三

業界雙師授課心得報告-叁式曾煒傑先生

        很榮幸的,老師這周請了一個在業界已經事業有成,且也是利用我們上課所交的相關東西做為互動的「叁式」創辦人曾煒傑先生來為我們互動技術概論做演講。
        首先介紹他所創辦的公司,大致上解釋了從開始到現在接過的案子,已即從經有甚麼理想,但每次接完案子有些廠商希望照要求去做而不是自行想創意,當然他們也會將此事做到最好。
        之後給我們看公司曾經做過的大案子,並做解釋講解,印象最深刻的就是「安娜奇舞蹈劇場」他們利用的8CAMARA放在頭上並寫成事,去讀取台上舞蹈人的動作,在去做投影!也就說人可以跟舞台上投影出來的影像去做互動,是個非常好玩的互動展事!而最有趣的地方是他到各的去展覽,因為會拉抬下的觀眾上台一起與舞者跳舞做互動,由於各國的風俗民情不同,展現出來的表演也不相同。
        最後戰事了許多比上課教的還要驚訝的互動影片,利用KINECT去設計,有些是國外知名的互動設計公司做的,都是相當的驚奇,你會想不到說怎麼可以去做出那種東西愛神奇了!
        後來還給我看可口可樂的影片,以色列與巴基斯坦利用互動的技術去促進他們的融合,還有OK GO "I Won't Let You Down" MV,是利用小型直升機去拍攝的都相當有趣!

希望以後老師還能多請業師來為我們授課,這樣更讓我們知道我們所學的東西是可以應用到哪些地方!

2014年10月27日 星期一

期中作品~~~

遊戲截圖↓↓↓
-----------------------------------------------------------------------------------

遊戲實測錄影↓↓↓
---------------------------------------------------------------------------------------

=========================期中作業程式碼 玩法和缺點↓↓↓======================
成員:00160104 張偉涵 01160306 呂季樺
遊戲介紹及玩法:
這是一款操作大砲打天上飛機的遊戲,透過鍵盤的左右鍵來操作大砲的位置,藉此閃躲飛機丟下來的炸彈,然後透過Ctrl鍵來發射大砲打飛機,打死飛機會得到分數,但是被飛機的炸彈打中就會遊戲結束。
不過,在子彈的碰撞上位置並沒能抓的相當精確,會有些許誤差,有待改善。
還有飛機被大砲打中後不會消失...
程式碼:
PImage plane[]=new PImage[3],imgBG,canon,bullet;
int pX[]={0,0,0},pY[]={0,0,0},cX[]={375},cY[]={500},bX[]={387},bY[]={520};
float pVX[]={1,1,1},pVY[]={1,1,1},bVY=2,bLife[]={0},pbX[]={0,0,0},pbY[]={0,0,0},pbv=1;
int shoot=0,gameover=0,score=0;
void setup(){
  size(800,600);
  imgBG=loadImage("sky.png");
  canon=loadImage("canon.png");
  bullet=loadImage("bullet.png");
  for(int i=0;i<3;i++)  plane[i]=loadImage("plane"+int(random(3))+".png");
  for(int i=0;i<3;i++){//plane and planeBullet begin
    pX[i]=int(random(30))*25;
    pbX[i]=pX[i]+30;
    pY[i]=int(random(7))*25+25;
    pbY[i]=pY[i]+31;
  }
}
void draw(){
  background(255);
  image(imgBG,0,50);
  image(bullet,bX[0],bY[0],40,40);
  image(canon,cX[0],cY[0],80,100);
  if(gameover>0){//Gameover
    fill(255,0,0);
    rect(0,0,800,600);
    textSize(100);
    fill(0);
    text("GameOver!", 125, 200);
    textSize(80);
    text("Score = "+score, 125,300 );
  }
  else{
    fill(0);
    textSize(18);
    text("use <- and -> to control canon location, click Ctrl to shoot.", 5, 20);
    for(int i=0;i<3;i++){
      if(abs(pX[i]-bX[0])<=100 &&abs(pY[i]-bY[0])<5){
        score+=1;
        //image(plane[i],pX[i],pY[i],100,60,1);
      }
    }
    text("Score = "+score, 5, 40);
    for(int i=0;i<3;i++){
      if(abs(pbX[i]-cX[0])<=10 &&pbY[i]>487 ) gameover++;
    }
    for(int i=0;i<3;i++){//draw plane and planeBullet
      fill(0);
      ellipse(pbX[i],pbY[i],10,10);
      image(plane[i],pX[i],pY[i],100,60);
    }
    for(int i=0;i<3;i++){//plane speed and pBspeed
       if(pX[i]>700){
         pX[i]=0;
         pbX[i]=30;
         plane[i]=loadImage("plane"+int(random(3))+".png");
         pY[i]=int(random(7))*25+25;
         pVX[i]=1;
       }
     
       else if(pbY[i]>600){
         pbY[i]=pY[i]+31;
         pbv=1;
       }
       else{
         pX[i]+=pVX[i];
         pbX[i]+=pVX[i]-0.02;
         pVX[i]+=0.05;
         pbY[i]+=pbv;
         pbv+=0.05;
      }
    }
    if(shoot>0){
      //image(bullet,bX[0],bY[0],40,40);
       for(int j=0;j<1;j++){//canonBullet speed
           if(bY[j]<30){
             bX[j]=cX[0]+20;
             bY[j]=500;
             bVY=2;
             shoot=0;
           }
           else{
             bY[j]-=bVY;
             bVY+=0.5;
           }
      }
      }
  }
}
void keyPressed(){
   if(keyCode==RIGHT && cX[0]<725 && bY[0]<500) cX[0]+=50;
   else if(keyCode==RIGHT && cX[0]<725 ){
     cX[0]+=50;
     bX[0]+=50;
   }
   if(keyCode==LEFT && cX[0]>0&& bY[0]<500) cX[0]-=50;
   else if(keyCode==LEFT && cX[0]>0){
     cX[0]-=50;
     bX[0]-=50;
   }
   if(keyCode==CONTROL) shoot++;
}

2014年10月20日 星期一

Week6_呂季樺_01160306

1. 期中作品進度及展示

Week04 期中作品訂題目/實作示範
Week05 期中作品實作示範
Week06 
Week07
Week08 業界老師授課 (愛迪斯科技)
期中考週
Week10 業界老師授課 (叁式互動)
Week11

2. 實務示範, 以暗棋為例, 讓大家看到它怎麼 "一步步做出來"

目前進度
PImage plane[]=new PImage[3];
int pX[]={25,25,25},pY[]={0,0,0},pVX,pVY;
void setup(){
  size(800,400);  
  for(int i=0;i<3;i++)  plane[i]=loadImage("plane"+int(random(2))+".png");
  for(int i=0;i<3;i++){
    pX[i]=int(random(30))*25;
    pY[i]=int(random(7))*25+25;
  }
}
void draw(){
  background(255);  
  rect(25,25,750,350);
  for(int i=0;i<3;i++){
    image(plane[i],pX[i],pY[i],100,50);
  }
}

Week05_呂季樺_01160306

1. 把上週你想做的期中作品題目, 做更進一步的分析
ex. 呂銘昇想做養魚遊戲
1.1. mouse click 會掉一個飼料
1.2. 背景圖, 有魚的圖, 有飼料的圖, 有...
1.3. 畫出魚, 而且魚會游動
1.4. 魚看到飼料, 會遊過去
...分析你要做的事有哪些


ex. 鄭怡珊想做打殭屍
1.1. 左、中、右路!!!! 一定是三個挑一個!!!!
1.2. 按對了, 才可以換一位, 不然會跳一下卡住
1.3. 事先會準備好一堆殭屍
1.4. .....



2014年10月6日 星期一

Week04_呂季樺_01160306

1. 寫出你的期中作品題目 (我們要做專案囉)
2. 我想要做貓狗大戰
http://anan.game.tw/stg/2146.html
----------------------------------------------------------------------------------------------------------------------------------------
void setup() {
  size(600, 400);
}
void draw() {
  drawFlower();
}
void drawFlower() {
  translate(mouseX,mouseY);
  fill(#FF6464); ellipse(0,0, 60,180);
  rotate(PI/6);
  fill(#FF6464); ellipse(0,0, 60,180);
  rotate(PI/6);
  fill(#FF6464); ellipse(0,0, 60,180);
  rotate(PI/6);
  fill(#FF6464); ellipse(0,0, 60,180);
  rotate(PI/6);
  fill(#FF6464); ellipse(0,0, 60,180);
  rotate(PI/6);
  fill(#FF6464); ellipse(0,0, 60,180);
  rotate(PI/6);
  fill(#FF7C17); ellipse(0,0, 60,80);
  }
========================================================================
void setup() {
  size(600, 400);
}
void draw() {
  drawFlower();
}
void drawFlower() {
  translate(mouseX,mouseY); rotate(0.01*frameCount);
  for(int i=0;i<20;i++){
    fill(#1E8BF5); ellipse(0,0, 20,180);
    rotate(PI/20);
  }
  fill(#F51E78); ellipse(0,0, 40,40);
  }
========================================================================

void setup() {
  size(600, 400);
  colorMode(HSB,600,400,400);
}
void draw() {
  drawFlower();
}
void drawFlower() {
  fill(mouseX,mouseY,400);
  translate(mouseX,mouseY);
  rotate(0.01*frameCount);
  for(int i=0;i<20;i++){
    ellipse(0,0, 20,180);
    rotate(PI/20);
  }
  fill(#F51E78); ellipse(0,0, 40,40);
  }
========================================================================

2014年9月29日 星期一

Week03_呂季樺_01160306

放圖片
size(800,500);
PImage img = loadImage("https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiU7S_lGF-bkc3B3hGd4TwqKFo9yYumIaRdlXQLEcj8BUKpZ2AacgbAlzb8UN8IScTGj9bQDbdMYZEACzYiCU6R9pE10jeg26qCHHzhltWcIUP5PmySPKVgoZs0q9i22Hoe7CiRRsyaOqnM/s1600/Porsche+Logo+2.jpg");
image(img, 0,0, 800,500);
滑鼠控制圖片
PImage img,img2;
void setup() {
  size(600, 600);
  img = loadImage("porsche1.jpg");
  img2 = loadImage("porsche2.jpg");
  imageMode(CENTER);
}
void draw() {
  background(255,255,255);
  image(img, mouseX, mouseY, 350, 175);
  image(img2, 300, 300, 350, 175);
}
加背景 圖片要記得去背

PImage img,img2,img_bg;
void setup() {
  size(600, 600);
  img = loadImage("porsche1.jpg");
  img2 = loadImage("porsche2_burned .jpg");
  img_bg = loadImage("Porsche Logo 2.jpg");
  img_bg.resize(600,600);
  imageMode(CENTER);
}
void draw() {
  background(img_bg);
  image(img, mouseX, mouseY, 350, 175);
  image(img2, 200, 400, 350, 175);
}

撥放音樂
import ddf.minim.*;
Minim minim;
AudioPlayer player, music;
void setup()
{
  size(512, 200, P3D);
  minim = new Minim(this);
  player = minim.loadFile("marcus_kellis_theme.mp3");
  music = minim.loadFile("Kimberley.mp3");
  player.play();
}
void draw()
{
}
void mousePressed()
{
  music.rewind();
  music.play();
}

2014年9月22日 星期一

Week02_呂季樺_01160306

https://www.coursera.org/course/digitalmedia
void setup(){
  size(400,600);
  background(#FAFFC1);
  fill(255,0,0); rect(0,0, 100,100);
  fill(0,255,0); rect(0,100, 100,100);
  fill(0,0,255); rect(0,200, 100,100);
  fill(0); rect(0,300, 100,100);
}
void draw(){
  //background(0,0,0);
  //rect(mouseX,mouseY, 100,100);
  if(mousePressed)line(mouseX,mouseY, pmouseX,pmouseY);
}
void mousePressed(){
  if(mouseX<100 && mouseY<100) stroke(255,0,0);
  else if(mouseX<100 && mouseY<200) stroke(0,255,0); 
  else if(mouseX<100 && mouseY<300) stroke(0,0,255);
  else if(mouseX<100 && mouseY<400) stroke(0);

}
void setup(){
  size(800,600); background(#FAFFC1);
  fill(255,255,255);  rect(700,0,100,100); ellipse(750,50,5,5);
  fill(255,255,255);  rect(700,100,100,100); ellipse(750,150,10,10);
  fill(255,255,255);  rect(700,200,100,100); ellipse(750,250,15,15);
  fill(255,0,0); rect(0,0, 100,100);
  fill(0,255,0); rect(0,100, 100,100);
  fill(0,0,255); rect(0,200, 100,100);
  fill(0); rect(0,300, 100,100);
}
void draw(){
  //background(0,0,0);
  //rect(mouseX,mouseY, 100,100);
  if(mousePressed && mouseX>100 &&mouseX<700)line(mouseX,mouseY, pmouseX,pmouseY);
}
void mousePressed(){
  if(mouseX<100 && mouseY<100) stroke(255,0,0);
  else if(mouseX<100 && mouseY<200) stroke(0,255,0); 
  else if(mouseX<100 && mouseY<300) stroke(0,0,255);
  else if(mouseX<100 && mouseY<400) stroke(0);
  else if(mouseX>700 &&mouseY<100) strokeWeight(5);
  else if(mouseX>700 &&mouseY<200) strokeWeight(10);
  else if(mouseX>700 &&mouseY<300) strokeWeight(15);

}

2014年9月15日 星期一

Week01_呂季樺_01160306

--------------------------------------------------------------------------------------------------------------------------
size(300,200);
background(255,0,0);
fill(0,0,255);
rect(0,0, 150,100);//rect

fill(255,255,255);//white
stroke(255,255,255);//white
ellipse(76,50.5, 35,35);//circle

fill(255,255,255);//white
stroke(255,255,255);//white
strokeWeight(1);//stroke's size
//triangle 12
triangle(75,13, 72,29, 80,29);
triangle(95,18, 83,30, 91,33);
triangle(108,32, 93,36, 97,44);
triangle(114,50, 97,46, 97,55);
triangle(108,68, 97,58, 92,64);
triangle(95,82, 91,67, 83,71);
triangle(76,87, 80,72, 72,72);
triangle(57,82, 68,71, 61,67);
triangle(44,69, 59,65, 55,58);
triangle(38,50, 54,54, 54,46);
triangle(43,31, 55,43, 58,36);
triangle(56,18, 61,33, 69,30);