2025年5月8日 星期四

12750245_黃品燕_week12

課堂作業1:

//week12_1_gundam_head_body_uparm_upuparm_hand

// week09_2_gundam_head_body_push_trt_pop

PShape body, head;

void setup() {

  size(400, 400, P3D);

  body = loadShape("body.obj");

  head = loadShape("head.obj");

}

void draw() {

  background(204);

  translate(200, 300);

  sphere(10); // 原點的球


  scale(10, -10, 10);

  

  shape(body, 0, 0);

  pushMatrix();

    translate(0, 22.5);

    rotateY(radians(mouseX-200));

    rotateX(radians(mouseY-60));

    translate(0, -22.5);

    shape(head, 0, 0);

  popMatrix();

}



課堂作業2:

//week12_2_gundam_head_body_uparm_upuparm_hand_angle

// week09_2_gundam_head_body_push_trt_pop

PShape body, head;

PShape uparm1, upuparm1, hand1;//week09_5

void setup() {

  size(400, 400, P3D);

  body = loadShape("body.obj");

  head = loadShape("head.obj");

  uparm1 = loadShape("uparm1.obj");//week09_5

  upuparm1 = loadShape("upuparm1.obj");//week09_5

  hand1 = loadShape("hand1.obj");//week09_5

}

float[]angleX=new float[10];

float[]angleY=new float[10];

int ID =0;

void mouseDragged(){

  angleX[ID]+=radians(mouseX-pmouseX);

  angleY[ID]+=radians(mouseY-pmouseY);

}

void draw() {

  background(204);

  translate(200, 300);

  sphere(10); // 原點的球


  scale(10, -10, 10);

  

  shape(body, 0, 0);

  pushMatrix();

    translate(0, 22.5);

    rotateY(angleX[0]);

    rotateX(angleY[0]);

    translate(0, -22.5);

    shape(head, 0, 0);

  popMatrix();

  

  pushMatrix();

    shape(upuparm1, 0, 0); // 上上手臂

    pushMatrix();

      translate(-4.1, 19.9); // 再掛回去原本的位置

      //rotateZ(radians(mouseX));

      rotateZ(angleY[2]);

      rotateY(angleX[2]);

      translate(4.1, -19.9); // 把物體的旋轉中心, 放到座標中心

      shape(uparm1, 0, 0); // 上手臂

      pushMatrix();

        translate(-4.5, +16.9);

        //rotateX(radians(mouseY));

        rotateX(angleY[3]);

        rotateY(angleX[3]);

        translate(4.5, -16.9); // 剛剛把手移到座標中心的移動量

        shape(hand1, 0, 0);

      popMatrix();

    popMatrix();

  popMatrix();

}



課堂作業3:

//week12_3_gundam_head_body_left_keyPressed_ID

PShape body, head;

PShape uparm1, upuparm1, hand1;//week09_5

void setup() {

  size(400, 400, P3D);

  body = loadShape("body.obj");

  head = loadShape("head.obj");

  uparm1 = loadShape("uparm1.obj");//week09_5

  upuparm1 = loadShape("upuparm1.obj");//week09_5

  hand1 = loadShape("hand1.obj");//week09_5

}

float[]angleX=new float[10];

float[]angleY=new float[10];

int ID =0;

void mouseDragged(){

  angleX[ID]+=radians(mouseX-pmouseX);

  angleY[ID]+=radians(mouseY-pmouseY);

}

void keyPressed(){

  if(key=='1')ID=1;

  if(key=='2')ID=2;

  if(key=='3')ID=3;

  if(key=='4')ID=4;

  if(key=='5')ID=5;

  if(key=='6')ID=6;

  if(key=='7')ID=7;

  if(key=='8')ID=8;

  if(key=='9')ID=9;

  if(key=='0')ID=0;

}

void draw() {

  background(204);

  translate(200, 300);

  sphere(10); // 原點的球


  scale(10, -10, 10);

  

  shape(body, 0, 0);

  pushMatrix();

    translate(0, 22.5);

    rotateY(angleX[0]);

    rotateX(angleY[0]);

    translate(0, -22.5);

    shape(head, 0, 0);

  popMatrix();

  

  pushMatrix();

    shape(upuparm1, 0, 0); // 上上手臂

    pushMatrix();

      translate(-4.1, 19.9); // 再掛回去原本的位置

      //rotateZ(radians(mouseX));

      rotateZ(angleY[2]);

      rotateY(angleX[2]);

      translate(4.1, -19.9); // 把物體的旋轉中心, 放到座標中心

      shape(uparm1, 0, 0); // 上手臂

      pushMatrix();

        translate(-4.5, +16.9);

        //rotateX(radians(mouseY));

        rotateX(angleY[3]);

        rotateY(angleX[3]);

        translate(4.5, -16.9); // 剛剛把手移到座標中心的移動量

        shape(hand1, 0, 0);

      popMatrix();

    popMatrix();

  popMatrix();

}


課堂作業4:

//week12_3_gundam_head_body_push_trt_pop_again

PShape body, head;

PShape uparm1, upuparm1, hand1;//week09_5

void setup() {

  size(400, 400, P3D);

  body = loadShape("body.obj");

  head = loadShape("head.obj");

  uparm1 = loadShape("uparm1.obj");//week09_5

  upuparm1 = loadShape("upuparm1.obj");//week09_5

  hand1 = loadShape("hand1.obj");//week09_5

}

float[]angleX=new float[10];

float[]angleY=new float[10];

int ID =0;

void mouseDragged(){

  angleX[ID]+=radians(mouseX-pmouseX);

  angleY[ID]+=radians(mouseY-pmouseY);

}

void keyPressed(){

  if(key=='1')ID=1;

  if(key=='2')ID=2;

  if(key=='3')ID=3;

  if(key=='4')ID=4;

  if(key=='5')ID=5;

  if(key=='6')ID=6;

  if(key=='7')ID=7;

  if(key=='8')ID=8;

  if(key=='9')ID=9;

  if(key=='0')ID=0;

}

void draw() {

  background(204);

  translate(200, 300);

  sphere(10); // 原點的球


  scale(10, -10, 10);

  

  shape(body, 0, 0);

  pushMatrix();

    translate(0, 22.5);

    rotateY(angleX[0]);

    rotateX(angleY[0]);

    translate(0, -22.5);

    shape(head, 0, 0);

  popMatrix();

  

  pushMatrix();

    translate(-2.9,20.8);

    rotateY(angleX[1]);

    rotateX(angleY[1]);

    translate(2.9,-20.8);

    //translate(mouseX/10.0,-mouseY/10.0);

    //println(mouseX/10.0,-mouseY/10.0);

    shape(upuparm1,0,0);

    pushMatrix();

      translate(-4.1, 19.9); // 再掛回去原本的位置

      //rotateZ(radians(mouseX));

      rotateZ(angleY[2]);

      rotateY(angleX[2]);

      translate(4.1, -19.9); // 把物體的旋轉中心, 放到座標中心

      shape(uparm1, 0, 0); // 上手臂

      pushMatrix();

        translate(-4.5, +16.9);

        //rotateX(radians(mouseY));

        rotateX(angleY[3]);

        rotateY(angleX[3]);

        translate(4.5, -16.9); // 剛剛把手移到座標中心的移動量

        shape(hand1, 0, 0);

      popMatrix();

    popMatrix();

  popMatrix();

}


課堂作業5:

//week12_5_gundam_left_copy_right

PShape body, head;

PShape uparm1, upuparm1, hand1;//week09_5

PShape uparm2, upuparm2, hand2;//week09_5

void setup() {

  size(400, 400, P3D);

  body = loadShape("body.obj");

  head = loadShape("head.obj");

  uparm1 = loadShape("uparm1.obj");//week09_5

  upuparm1 = loadShape("upuparm1.obj");//week09_5

  hand1 = loadShape("hand1.obj");//week09_5

  uparm2 = loadShape("uparm2.obj");//week12_5

  upuparm2 = loadShape("upuparm2.obj");//week12_5

  hand2 = loadShape("hand2.obj");//week12_5

}

float[]angleX=new float[10];

float[]angleY=new float[10];

int ID =0;

void mouseDragged(){

  angleX[ID]+=radians(mouseX-pmouseX);

  angleY[ID]+=radians(mouseY-pmouseY);

}

void keyPressed(){

  if(key=='1')ID=1;

  if(key=='2')ID=2;

  if(key=='3')ID=3;

  if(key=='4')ID=4;

  if(key=='5')ID=5;

  if(key=='6')ID=6;

  if(key=='7')ID=7;

  if(key=='8')ID=8;

  if(key=='9')ID=9;

  if(key=='0')ID=0;

}

void draw() {

  background(204);

  translate(200, 300);

  sphere(10); // 原點的球


  scale(10, -10, 10);

  

  shape(body, 0, 0);

  pushMatrix();

    translate(0, 22.5);

    rotateY(angleX[0]);

    rotateX(angleY[0]);

    translate(0, -22.5);

    shape(head, 0, 0);

  popMatrix();

  

  pushMatrix();

    translate(-2.9,20.8);

    rotateY(angleX[1]);

    rotateX(angleY[1]);

    translate(2.9,-20.8);

    //translate(mouseX/10.0,-mouseY/10.0);

    //println(mouseX/10.0,-mouseY/10.0);

    shape(upuparm1,0,0);

    pushMatrix();

      translate(-4.1, 19.9); // 再掛回去原本的位置

      //rotateZ(radians(mouseX));

      rotateZ(angleY[2]);

      rotateY(angleX[2]);

      translate(4.1, -19.9); // 把物體的旋轉中心, 放到座標中心

      shape(uparm1, 0, 0); // 上手臂

      pushMatrix();

        translate(-4.5, +16.9);

        //rotateX(radians(mouseY));

        rotateX(angleY[3]);

        rotateY(angleX[3]);

        translate(4.5, -16.9); // 剛剛把手移到座標中心的移動量

        shape(hand1, 0, 0);

      popMatrix();

    popMatrix();

  popMatrix();

  

  pushMatrix();

    translate(2.9,20.8);

    rotateY(angleX[4]);

    rotateX(angleY[4]);

    translate(-2.9,-20.8);

    //translate(mouseX/10.0,-mouseY/10.0);

    //println(mouseX/10.0,-mouseY/10.0);

    shape(upuparm2,0,0);

    pushMatrix();

      translate(4.1, 19.9); // 再掛回去原本的位置

      //rotateZ(radians(mouseX));

      rotateZ(angleY[5]);

      rotateY(angleX[5]);

      translate(-4.1, -19.9); // 把物體的旋轉中心, 放到座標中心

      shape(uparm2, 0, 0); // 上手臂

      pushMatrix();

        translate(4.5, +16.9);

        //rotateX(radians(mouseY));

        rotateX(angleY[6]);

        rotateY(angleX[6]);

        translate(-4.5, -16.9); // 剛剛把手移到座標中心的移動量

        shape(hand2, 0, 0);

      popMatrix();

    popMatrix();

  popMatrix();

}

課堂作業6:

//week12_6_sound

//Sketch-Library-Managed Libraries找sound

//會看到Sound | Provides a simple way to work with audio

//選他右上角Install下載

//File-Example點開Libraries

//Soundfile看SimplePlayback

import processing.sound.*;

SoundFile mySound;

void setup(){

  size(400,400);

  mySound=new SoundFile(this,"music.mp3");

  mySound.play();//播放

}

void draw(){

  

}


課堂作業7:

//week12_7_sound_intro_ingame_sword_monkey

import processing.sound.*;

SoundFile sndInGame,sndIntro,sndMonkey,sndSword;

void setup(){

  size(400,400);

  sndInGame=new SoundFile(this, "In Game Music.mp3");

  sndIntro=new SoundFile(this, "Intro Song_Final.mp3");

  sndMonkey=new SoundFile(this, "Monkey 1.mp3");

  sndSword=new SoundFile(this, "sword slash.mp3");

  sndIntro.play();

}

boolean playingIntro=true;

void keyPressed(){

  if(playingIntro){

    sndIntro.stop();

    sndInGame.play();

    playingIntro=false;

  }

  else{

    sndInGame.stop();

    sndIntro.play();

    playingIntro=true;

  }

}

void mousePressed(){

  if(mouseButton==LEFT)sndSword.play();

  if(mouseButton==RIGHT)sndMonkey.play();

}

void draw(){


}




沒有留言:

張貼留言