2025年4月24日 星期四

week10

 

//week10-1

size(500,560);

PImage postman=loadImage("postman.png");

PImage head=loadImage("head.png");

PImage body=loadImage("body.png");

background(#FFFFF2);

image(postman,0,0);//全身

fill(255,0,255,128);//半透明紫色

rect(0,0,560,560);//蓋上去

image(head,0,0);//先畫頭

image(body,0,0);//在畫身體

//week10-2

PImage postman,head,body,arm1,arm2,hand1,hand2,lag1,lag2;

void setup(){

  size(500,560);

  postman=loadImage("postman.png");

  head=loadImage("head.png");

  body=loadImage("body.png");

  arm1=loadImage("arm1.png");

  arm2=loadImage("arm2.png");

  hand1=loadImage("hand1.png");

  hand2=loadImage("hand2.png");

  lag1=loadImage("lag1.png");

  lag2=loadImage("lag2.png");

}

void draw(){

  background(#FFFFF2);

  image(postman,0,0);//全身

  fill(255,0,255,128);//半透明紫色

  rect(0,0,560,560);//蓋上去

   pushMatrix();

    translate(113,192);

    //rotate(radians(mouseX));

    translate(-113,-192);  

    image(arm1,0,0);

  popMatrix();

  pushMatrix();

    translate(168,192);

    //rotate(radians(mouseX));

    translate(-168,-192);  

    image(arm2,0,0);

  popMatrix();

  pushMatrix();

    translate(67,191);

    rotate(radians(mouseX));

    translate(-67,-191);  

    image(hand1,0,0);

  popMatrix();

  pushMatrix();

    translate(208,189);

    rotate(radians(mouseX));

    translate(-208,-189);  

    image(hand2,0,0);

  popMatrix();  

  pushMatrix();

    translate(112,182);

    //rotate(radians(mouseX));

    translate(-112,-182);  

    image(head,0,0);//先畫頭

  popMatrix();

   pushMatrix();

    translate(133,273);

    rotate(radians(mouseX));

    translate(-133,-273);  

    image(lag1,0,0);

  popMatrix();

   pushMatrix();

    translate(152,273);

    //rotate(radians(mouseX));

    translate(-152,-273);  

    image(lag2,0,0);

  popMatrix();

    image(body,0,0);//在畫身體   

}

//week10-3-many angle_ID

PImage postman,head,body,arm1,arm2,hand1,hand2,lag1,lag2;

float[]angle=new float[20];

int ID=0;//現在要處理的關節ID(第幾關節)

void mouseDragged(){

  angle[ID]+=mouseX-pmouseX;

}

void keyPressed(){

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

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

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

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

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

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

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

}

void setup(){

  size(560,560);

  postman=loadImage("postman.png");

  head=loadImage("head.png");

  body=loadImage("body.png");

  arm1=loadImage("arm1.png");

  arm2=loadImage("arm2.png");

  hand1=loadImage("hand1.png");

  hand2=loadImage("hand2.png");

  lag1=loadImage("lag1.png");

  lag2=loadImage("lag2.png");

}

void draw(){

  background(#FFFFF2);

  image(postman,0,0);//全身

  fill(255,0,255,128);//半透明紫色

  rect(0,0,560,560);//蓋上去

   pushMatrix();

    translate(113,192);

    rotate(radians(angle[2]));

    translate(-113,-192);  

    image(arm1,0,0);

  popMatrix();

  pushMatrix();

    translate(168,192);

    rotate(radians(angle[3]));

    translate(-168,-192);  

    image(arm2,0,0);

  popMatrix();

  pushMatrix();

    translate(67,191);

    rotate(radians(angle[4]));

    translate(-67,-191);  

    image(hand1,0,0);

  popMatrix();

  pushMatrix();

    translate(208,189);

    rotate(radians(angle[5]));

    translate(-208,-189);  

    image(hand2,0,0);

  popMatrix();  

  pushMatrix();

    translate(112,182);

    rotate(radians(angle[1]));

    translate(-112,-182);  

    image(head,0,0);//先畫頭

  popMatrix();

   pushMatrix();

    translate(133,273);

    rotate(radians(angle[6]));

    translate(-133,-273);  

    image(lag1,0,0);

  popMatrix();

   pushMatrix();

    translate(152,273);

    rotate(radians(angle[7]));

    translate(-152,-273);  

    image(lag2,0,0);

  popMatrix();

    image(body,0,0);//在畫身體   

}

//week10-4-many angle_ID-saveString-loadString

PImage postman,head,body,arm1,arm2,hand1,hand2,lag1,lag2;

float[]angle=new float[20];

int ID=0;//現在要處理的關節ID(第幾關節)

void mouseDragged(){

  angle[ID]+=mouseX-pmouseX;

}

void keyPressed(){

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

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

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

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

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

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

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

  if(key=='s'){

    String now="";//要放全部的關節

    for(int i=0;i<20;i++){//用for迴圈

        now+=" "+angle[i];//全塞到now裡   

    }

    lines.add(now);

    String[]arr=new String[lines.size()];

    lines.toArray(arr);

      saveStrings("angles.txt",arr);

  }

}

ArrayList<String>lines=new ArrayList<String>();//放移動的結果

void setup(){

  size(560,560);

  postman=loadImage("postman.png");

  head=loadImage("head.png");

  body=loadImage("body.png");

  arm1=loadImage("arm1.png");

  arm2=loadImage("arm2.png");

  hand1=loadImage("hand1.png");

  hand2=loadImage("hand2.png");

  lag1=loadImage("lag1.png");

  lag2=loadImage("lag2.png");

}

void draw(){

  background(#FFFFF2);

  image(postman,0,0);//全身

  fill(255,0,255,128);//半透明紫色

  rect(0,0,560,560);//蓋上去

   pushMatrix();

    translate(113,192);

    rotate(radians(angle[2]));

    translate(-113,-192);  

    image(arm1,0,0);

  popMatrix();

  pushMatrix();

    translate(168,192);

    rotate(radians(angle[3]));

    translate(-168,-192);  

    image(arm2,0,0);

  popMatrix();

  pushMatrix();

    translate(67,191);

    rotate(radians(angle[4]));

    translate(-67,-191);  

    image(hand1,0,0);

  popMatrix();

  pushMatrix();

    translate(208,189);

    rotate(radians(angle[5]));

    translate(-208,-189);  

    image(hand2,0,0);

  popMatrix();  

  pushMatrix();

    translate(112,182);

    rotate(radians(angle[1]));

    translate(-112,-182);  

    image(head,0,0);//先畫頭

  popMatrix();

   pushMatrix();

    translate(133,273);

    rotate(radians(angle[6]));

    translate(-133,-273);  

    image(lag1,0,0);

  popMatrix();

   pushMatrix();

    translate(152,273);

    rotate(radians(angle[7]));

    translate(-152,-273);  

    image(lag2,0,0);

  popMatrix();

    image(body,0,0);//在畫身體   

}


//week10-4-many angle_ID-saveString-loadString

PImage postman,head,body,arm1,arm2,hand1,hand2,lag1,lag2;

float[]angle=new float[20];

int ID=0;//現在要處理的關節ID(第幾關節)

void mouseDragged(){

  angle[ID]+=mouseX-pmouseX;

}

void keyPressed(){

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

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

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

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

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

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

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

  if(key=='s'){//每次按's'就存一組angle

    String now="";//要放全部的關節

    for(int i=0;i<20;i++){//用for迴圈

        now+=angle[i]+" ";//全塞到now裡   

    }

    lines.add(now);

    String[]arr=new String[lines.size()];

    lines.toArray(arr);

      saveStrings("angles.txt",arr);

  }

 

  if(key=='r'){//replay

    if(R<lines.size()){

      

      float[]now=float(split(lines,get(R),' '));

      for(int i=0;i<20;i++) angle[i]=now[i];

          R=(R+1)%lines.size();

      }

    

  }

}

int R=0;

ArrayList<String>lines=new ArrayList<String>();//放移動的結果

void setup(){

  size(560,560);

  postman=loadImage("postman.png");

  head=loadImage("head.png");

  body=loadImage("body.png");

  arm1=loadImage("arm1.png");

  arm2=loadImage("arm2.png");

  hand1=loadImage("hand1.png");

  hand2=loadImage("hand2.png");

  lag1=loadImage("lag1.png");

  lag2=loadImage("lag2.png");

}

void draw(){

  background(#FFFFF2);

  image(postman,0,0);//全身

  fill(255,0,255,128);//半透明紫色

  rect(0,0,560,560);//蓋上去

   pushMatrix();

    translate(113,192);

    rotate(radians(angle[2]));

    translate(-113,-192);  

    image(arm1,0,0);

  popMatrix();

  pushMatrix();

    translate(168,192);

    rotate(radians(angle[3]));

    translate(-168,-192);  

    image(arm2,0,0);

  popMatrix();

  pushMatrix();

    translate(67,191);

    rotate(radians(angle[4]));

    translate(-67,-191);  

    image(hand1,0,0);

  popMatrix();

  pushMatrix();

    translate(208,189);

    rotate(radians(angle[5]));

    translate(-208,-189);  

    image(hand2,0,0);

  popMatrix();  

  pushMatrix();

    translate(112,182);

    rotate(radians(angle[1]));

    translate(-112,-182);  

    image(head,0,0);//先畫頭

  popMatrix();

   pushMatrix();

    translate(133,273);

    rotate(radians(angle[6]));

    translate(-133,-273);  

    image(lag1,0,0);

  popMatrix();

   pushMatrix();

    translate(152,273);

    rotate(radians(angle[7]));

    translate(-152,-273);  

    image(lag2,0,0);

  popMatrix();

    image(body,0,0);//在畫身體   

}




沒有留言:

張貼留言