week12-1
//week12-1
//修改自week09-2_gundam_head_body_push_trt_pop
//再加上week09-5_gundam_uparm_upuparm_hand_keyboard_mouse_rot
PShape body,head,uparm1,upuparm1,hand1;
void setup(){
size(400,400,P3D);
body=loadShape("body.obj");
head=loadShape("head.obj");
uparm1=loadShape("uparm1.obj");
upuparm1=loadShape("upuparm1.obj");
hand1=loadShape("hand1.obj");
}
void draw(){
background(204);
translate(200,300);
sphere(10); //原點的球
scale(10,-10,10); //y要上下反過來
shape(body,0,0);
pushMatrix();
translate(0,22);
rotateY(radians(mouseX-200));
rotateX(radians(mouseY-60));
translate(0,-22);
shape(head,0,0);
popMatrix();
pushMatrix(); //左邊手臂系列
shape(upuparm1,0,0); //上上手臂
pushMatrix();
translate(-4.1,19.9); //掛回原本的位置
rotateZ(radians(mouseX));
translate(4.5,-19.9); //把物體旋轉中心放到座標中
shape(uparm1,0,0); //上手臂
pushMatrix();
translate(-4.5,16.9);
rotateX(radians(mouseY));
translate(4.5,-16.9);
//translate(mouseX/10,-mouseY/10); //移動、找數值
//println(mouseX/10,-mouseY/10); //印出適合的數值
shape(hand1,0,0);
popMatrix();
popMatrix();
popMatrix();
}
week12-2
//week12-2
//修改自week12-1
//float [] angleX=new float[10];
//float [] angleY=new float[10];
PShape body,head,uparm1,upuparm1,hand1;
void setup(){
size(400,400,P3D);
body=loadShape("body.obj");
head=loadShape("head.obj");
uparm1=loadShape("uparm1.obj");
upuparm1=loadShape("upuparm1.obj");
hand1=loadShape("hand1.obj");
}
float [] angleX=new float[10];
float [] angleY=new float[10];
int ID=0; //0:頭 1:上上手臂 2:上手臂 3:手
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); //y要上下反過來
shape(body,0,0);
pushMatrix();
translate(0,22);
rotateY(angleX[0]); //X方向 左右拖曳 是對Y軸轉
rotateX(angleY[0]); //Y方向 上下拖曳 是對X軸轉
translate(0,-22);
shape(head,0,0);
popMatrix();
pushMatrix(); //左邊手臂系列
shape(upuparm1,0,0); //上上手臂
pushMatrix();
translate(-4.1,19.9); //掛回原本的位置
//rotateZ(radians(mouseX));
rotateZ(angleX[2]);
rotateY(angleY[2]);
translate(4.5,-19.9); //把物體旋轉中心放到座標中
shape(uparm1,0,0); //上手臂
pushMatrix();
translate(-4.5,16.9);
//rotateX(radians(mouseY));
rotateX(angleX[3]);
rotateY(angleY[3]);
translate(4.5,-16.9);
//translate(mouseX/10,-mouseY/10); //移動、找數值
//println(mouseX/10,-mouseY/10); //印出適合的數值
shape(hand1,0,0);
popMatrix();
popMatrix();
popMatrix();
}
week12-3
//week12-2
//修改自week12-1
//float [] angleX=new float[10];
//float [] angleY=new float[10];
PShape body,head,uparm1,upuparm1,hand1;
void setup(){
size(400,400,P3D);
body=loadShape("body.obj");
head=loadShape("head.obj");
uparm1=loadShape("uparm1.obj");
upuparm1=loadShape("upuparm1.obj");
hand1=loadShape("hand1.obj");
}
float [] angleX=new float[10];
float [] angleY=new float[10];
int ID=0; //0:頭 1:上上手臂 2:上手臂 3:手
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); //y要上下反過來
shape(body,0,0);
pushMatrix();
translate(0,22);
rotateY(angleX[0]); //X方向 左右拖曳 是對Y軸轉
rotateX(angleY[0]); //Y方向 上下拖曳 是對X軸轉
translate(0,-22);
shape(head,0,0);
popMatrix();
pushMatrix(); //左邊手臂系列
shape(upuparm1,0,0); //上上手臂
pushMatrix();
translate(-4.1,19.9); //掛回原本的位置
//rotateZ(radians(mouseX));
rotateZ(angleX[2]);
rotateY(angleY[2]);
translate(4.5,-19.9); //把物體旋轉中心放到座標中
shape(uparm1,0,0); //上手臂
pushMatrix();
translate(-4.5,16.9);
//rotateX(radians(mouseY));
rotateX(angleX[3]);
rotateY(angleY[3]);
translate(4.5,-16.9);
//translate(mouseX/10,-mouseY/10); //移動、找數值
//println(mouseX/10,-mouseY/10); //印出適合的數值
shape(hand1,0,0);
popMatrix();
popMatrix();
popMatrix();
}
week12-4
//week12-2
//修改自week12-3
PShape body,head,uparm1,upuparm1,hand1;
void setup(){
size(400,400,P3D);
body=loadShape("body.obj");
head=loadShape("head.obj");
uparm1=loadShape("uparm1.obj");
upuparm1=loadShape("upuparm1.obj");
hand1=loadShape("hand1.obj");
}
float [] angleX=new float[10];
float [] angleY=new float[10];
int ID=0; //0:頭 1:上上手臂 2:上手臂 3:手
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); //y要上下反過來
shape(body,0,0);
pushMatrix();
translate(0,22);
rotateY(angleX[0]); //X方向 左右拖曳 是對Y軸轉
rotateX(angleY[0]); //Y方向 上下拖曳 是對X軸轉
translate(0,-22);
shape(head,0,0);
popMatrix();
pushMatrix(); //左邊手臂系列
translate(-2.9,20.7);
rotateY(angleX[1]);
rotateX(angleX[1]);
translate(2.9,-20.7);
//translate(mouseX/10,-mouseY/10);
//println(mouseX/10,-mouseY/10);
shape(upuparm1,0,0); //上上手臂
pushMatrix();
translate(-4.1,19.9); //掛回原本的位置
//rotateZ(radians(mouseX));
rotateZ(angleX[2]);
rotateY(angleY[2]);
translate(4.5,-19.9); //把物體旋轉中心放到座標中
shape(uparm1,0,0); //上手臂
pushMatrix();
translate(-4.5,16.9);
//rotateX(radians(mouseY));
rotateX(angleX[3]);
rotateY(angleY[3]);
translate(4.5,-16.9);
//translate(mouseX/10,-mouseY/10); //移動、找數值
//println(mouseX/10,-mouseY/10); //印出適合的數值
shape(hand1,0,0);
popMatrix();
popMatrix();
popMatrix();
}
week12-5
//week12-5
//修改自week12-4
PShape body,head,uparm1,upuparm1,hand1,uparm2,upuparm2,hand2;
void setup(){
size(400,400,P3D);
body=loadShape("body.obj");
head=loadShape("head.obj");
uparm1=loadShape("uparm1.obj");
upuparm1=loadShape("upuparm1.obj");
hand1=loadShape("hand1.obj");
uparm2=loadShape("uparm2.obj");
upuparm2=loadShape("upuparm2.obj");
hand2=loadShape("hand2.obj");
}
float [] angleX=new float[10];
float [] angleY=new float[10];
int ID=0; //0:頭 1:上上手臂 2:上手臂 3:手
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); //y要上下反過來
shape(body,0,0);
pushMatrix();
translate(0,22);
rotateY(angleX[0]); //X方向 左右拖曳 是對Y軸轉
rotateX(angleY[0]); //Y方向 上下拖曳 是對X軸轉
translate(0,-22);
shape(head,0,0);
popMatrix();
pushMatrix(); //左邊手臂系列
translate(-2.9,20.7);
rotateY(angleX[1]);
rotateX(angleX[1]);
translate(2.9,-20.7);
//利用下面兩行,找到旋轉中心座標,印出來
//translate(mouseX/10,-mouseY/10);
//println(mouseX/10,-mouseY/10);
shape(upuparm1,0,0); //上上手臂
pushMatrix();
translate(-4.1,19.9); //掛回原本的位置
//rotateZ(radians(mouseX));
rotateZ(angleX[2]);
rotateY(angleY[2]);
translate(4.5,-19.9); //把物體旋轉中心放到座標中
shape(uparm1,0,0); //上手臂
pushMatrix();
translate(-4.5,16.9);
//rotateX(radians(mouseY));
rotateX(angleX[3]);
rotateY(angleY[3]);
translate(4.5,-16.9);
//translate(mouseX/10,-mouseY/10); //移動、找數值
//println(mouseX/10,-mouseY/10); //印出適合的數值
shape(hand1,0,0);
popMatrix();
popMatrix();
popMatrix();
pushMatrix(); //左邊手臂系列
translate(2.9,20.7);
rotateY(angleX[4]);
rotateX(angleX[4]);
translate(-2.9,-20.7);
//利用下面兩行,找到旋轉中心座標,印出來
//translate(mouseX/10,-mouseY/10);
//println(mouseX/10,-mouseY/10);
shape(upuparm2,0,0); //上上手臂
pushMatrix();
translate(4.1,19.9); //掛回原本的位置
//rotateZ(radians(mouseX));
rotateZ(angleX[5]);
rotateY(angleY[5]);
translate(-4.5,-19.9); //把物體旋轉中心放到座標中
shape(uparm2,0,0); //上手臂
pushMatrix();
translate(4.5,16.9);
//rotateX(radians(mouseY));
rotateX(angleX[6]);
rotateY(angleY[6]);
translate(-4.5,-16.9);
//translate(mouseX/10,-mouseY/10); //移動、找數值
//println(mouseX/10,-mouseY/10); //印出適合的數值
shape(hand2,0,0);
popMatrix();
popMatrix();
popMatrix();
}
week12-6
//12-6_sound
//要有聲音,需要聲音的Library
// Sketch -> Library -> Managed Libraries 找 sound
//會看到Sound | Provudes a simple way to work with audio -> Install
//安裝好Sound後,會有File->Examples 點開 Libraries核心函式庫Sound
//Soundfile那堆範例 看 SimplePlayback簡單播放音樂的範例
import processing.sound.*;
SoundFile mySound;
void setup(){
size(400,400);
mySound=new SoundFile(this,"music.mp3");
mySound.play();
}
void draw(){
}
week12-7
//week12-7_sound1_sound2_sound3
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(){
}
沒有留言:
張貼留言