//week09-2
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));
translate(0, -22.5);
shape(head, 0, 0);
popMatrix();
}
-----------------------------------------------------------------------------
//week09-3&4
PShape uparm1, upuparm1, hand1;
void setup(){
size(400,400,P3D);
uparm1 = loadShape("uparm1.obj");
upuparm1 = loadShape("upuparm1.obj");
hand1 = loadShape("hand1.obj");
}
void draw(){
background(204);
translate(200,300);
sphere(3);
scale(10,-10,10);
shape(upuparm1, 0, 0);
pushMatrix();
translate(-4.1, 19.9);
rotateZ(radians(mouseX));
//rotateX(radians(mouseY));
translate(4.1, -19.9);
//translate(mouseX/10.0, mouseY/10.0);
//println(mouseX/10.0, -mouseX/10.0);
shape(uparm1, 0, 0);
pushMatrix();
translate(-4.5, +16.9);
rotateX(radians(mouseX));
translate(4.5, -16.9);
shape(hand1, 0, 0);
popMatrix();
popMatrix();
}
----------------------------------------------------------------
//week09-5
PShape uparm1, upuparm1, hand1;
void setup(){
size(400,400,P3D);
uparm1 = loadShape("uparm1.obj");
upuparm1 = loadShape("upuparm1.obj");
hand1 = loadShape("hand1.obj");
}
float [] angle = new float[20];
int ID = 0;
void keyPressed(){
if(key == '1') ID = 1;
if(key == '2') ID = 2;
}
void mouseDragged(){
angle[ID] += mouseX - pmouseX;
}
void draw(){
background(204);
translate(200,300);
sphere(3);
scale(10,-10,10);
shape(upuparm1, 0, 0);
pushMatrix();
translate(-4.1, 19.9);
rotateZ(angle[1]);
translate(4.1, -19.9);
shape(uparm1, 0, 0);
pushMatrix();
translate(-4.5, +16.9);
rotateX(angle[2]);
translate(4.5, -16.9);
shape(hand1, 0, 0);
popMatrix();
popMatrix();
}
-----------------------------------------------------------
//week09-6
void setup(){
size(300,300);
rect(10, 10, 80, 80);
rect(110,110,80,80);
save("file.png"); //存檔用
another = loadStrings("lines.txt");
}
int x = 10, y = 10, ID = 0;
void draw(){
background(204);
if(another != null){
int [] now = int(split(another[ID], ' '));
rect(now[0], now[1], 80, 80);
ID = (ID+1) % another.length;
}
rect(x,y,80,80);
}
void mouseDragged(){
x += mouseX - pmouseX;
y += mouseY - pmouseY;
String now = x + " " + y; //現在座標字串
lines.add(now);
}
ArrayList<String> lines = new ArrayList<String>();
String [] another;
void keyPressed(){
String [] arr = new String[lines.size()]; //傳統的JAVA陣列的資料結構
lines.toArray(arr);//把ArrayList轉換成傳統的陣列 方便存檔
if(key=='s') saveStrings("lines.txt", arr); //按下小寫的英文S 會存檔
}
沒有留言:
張貼留言