2025年5月1日 星期四

week11

 

// week11_1 postman saveStrings loadStrings
// week10_6_postman_many_angle_ID_mouseDragged
PImage postman, head, body;
float [] angle = new float[20];
int ID = 0;
void mouseDragged(){
  angle[ID] += mouseX - pmouseX;
}
void keyPressed(){
  if(key=='1') ID = 1;
  if(key=='1') ID = 2;
  if(key=='1') ID = 3;
  if(key=='1') ID = 4;
  if(key=='1') ID = 5;
  if(key=='1') ID = 6;
  if(key=='1') ID = 0;
  
  if(key=='s'){
    String now = "";
    for(int i=0; i<20; i++){
      now += " " + angle[i];
  }
  lines.add(now);
  String[]arr = new String[lines.size()];
  lines.toArray(arr);
  saveStrings("angles.txt",arr);
  }
  if(key=='r'){
    if(R==0){
      String[]file = loadStrings("angles.txt");
      if(file !=null){
        for(int i=0; i<file. length; i++){
          lines.add(file[i]);
        }
    }
}
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>lies = new ArrayList<String>();
void setup(){
  size(560, 560);
   postman = loadImage("postman.png");
   head = loadImage("head.png");
   body = loadImage("body.png");
   uparm2 = loadImage("uparml.png");
   hand2 = loadImage("hand1.png");
   uparm2 = loadImage("uarm2.png");
   hand2 = loadImage("hand2.png");
}
void draw(){
  background(#FFFFF2);
  image(postman, 0, 0);
  fill(255, 0, 255, 128);
  rect(0, 0, 560, 560);
  pushMatrix();
  translate(+185, +261);
  //rotate(radians(mouseX));
  translate(-185, -261);
  image(uparml, 0, 0);
  pushMatrix();
    translate(+116, +265);
    rotate(radians(mouseX));
    translate(-116, -265);
  image(body, 0, 0);
  popMatrix();
  popMatrix();
}
  pushmatrix();
  translate(+185, +261);
  //rotate(radians(mouseX));
  translate(-185, -261);
  image(uparml, 0, 0);
  pushMatrix();
    translate(+116, +265);
    rotate(radians(mouseX));
    translate(-116, -265);
  image(body, 0, 0);
  popMatrix();
  popMatrix();
}
pushmatrix();
  translate(+185, +261);
  //rotate(radians(mouseX));
  translate(-185, -261);
  image(uparml, 0, 0);
  pushMatrix();
    translate(+116, +265);
    rotate(radians(mouseX));
    translate(-116, -265);
  image(body, 0, 0);
  popMatrix();
  popMatrix();
}

// week11_2 postman saveStrings loadStrings
// week10_6_postman_many_angle_ID_mouseDragged
PImage postman, head, body;
float [] angle = new float[20];
int ID = 0;
void mouseDragged(){
  angle[ID] += mouseX - pmouseX;
}
void keyPressed(){
  if(key=='1') ID = 1;
  if(key=='1') ID = 2;
  if(key=='1') ID = 3;
  if(key=='1') ID = 4;
  if(key=='1') ID = 5;
  if(key=='1') ID = 6;
  if(key=='1') ID = 0;
  
  if(key=='s'){
    String now = "";
    for(int i=0; i<20; i++){
      now += " " + angle[i];
  }
  lines.add(now);
  String[]arr = new String[lines.size()];
  lines.toArray(arr);
  saveStrings("angles.txt",arr);
  }
  if(key=='r'){
    if(R==0){
      String[]file = loadStrings("angles.txt");
      if(file !=null){
        for(int i=0; i<file. length; i++){
          lines.add(file[i]);
        }
    }
}
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>lies = new ArrayList<String>();
void setup(){
  size(560, 560);
   postman = loadImage("postman.png");
   head = loadImage("head.png");
   body = loadImage("body.png");
   uparm2 = loadImage("uparml.png");
   hand2 = loadImage("hand1.png");
   uparm2 = loadImage("uarm2.png");
   hand2 = loadImage("hand2.png");
}
void myInterpolate(){
  if(lines.size()>0{
    float alpha = (frameCount%30)/30.0;
    if(alpha==0.0)R = (R+1)%lines.size();
    int R2 = (R+1)%lines.size();
    float [] oldAngle = float(split( lines.get( R ), ' '));
    float [] newAngle = float(split( lines.get( R2), ' '));
    for(int i=0; i<20; i++) angle[i] = oldAngle[i]*(1-alpha) + newAngle[i]*alpha;
  }
}
void draw(){
  myInterpolate();
  background(#FFFFF2);
  image(postman, 0, 0);
  fill(255, 0, 255, 128);
  rect(0, 0, 560, 560);
  pushMatrix();
  translate(+185, +261);
  //rotate(radians(mouseX));
  translate(-185, -261);
  image(uparml, 0, 0);
  pushMatrix();
    translate(+116, +265);
    rotate(radians(mouseX));
    translate(-116, -265);
  image(body, 0, 0);
  popMatrix();
  popMatrix();
}
  pushmatrix();
  translate(+185, +261);
  //rotate(radians(mouseX));
  translate(-185, -261);
  image(uparml, 0, 0);
  pushMatrix();
    translate(+116, +265);
    rotate(radians(mouseX));
    translate(-116, -265);
  image(body, 0, 0);
  popMatrix();
  popMatrix();
}
pushmatrix();
  translate(+185, +261);
  //rotate(radians(mouseX));
  translate(-185, -261);
  image(uparml, 0, 0);
  pushMatrix();
    translate(+116, +265);
    rotate(radians(mouseX));
    translate(-116, -265);
  image(body, 0, 0);
  popMatrix();
  popMatrix();
}
// week11_3

PImage postman, head, body, uparml, hand1, uparm2, hand2, foot1, foot2;
void setup(){
  postman = loadImage("postman.png");
  head = loadImage("head.png");
  body = loadImage("body.png");
  uparml = loadImage("uparml.png");
  uparm2 = loadImage("uparm2.png");
  hand1 = loadImage("hand1.png");
  hand2 = loadImage("hand2.png");
  foot1 = loadImage("foot1.png");
  foot2 = loadImage("foot2.png");
}
float [] angleX = new float[10];
float [] angleY = new float[10];
int ID = 0;
ArrayList<String>lines = new ArrayList<String>();
void keyPressed(){
  if(key=='s'){
    String now = "";
    for(int i=0; i<10; i++){
      now += angleX[i] + " ";
      now += angleY[i] + " ";
    }
    lines.add(now);
    String[]arr = new String[lines.size()];
    lines.toArray(arr);
    saveStrings("angles.txt",arr);
    println("現在存檔;" + now);
  }
  if(key=='r'){
    String[]file = loadStrings("angles.txt");
    if(file !=null){
      for(int i=0; i<file,length; i++){
        lines.add(file[i]);
        println("現在讀檔"; + file[i]);
      }
    }
  }
    if(key=='p') playing = !playing;
    
    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
void draw(){
  background(#FFFFF2);
  pushMatrix();
    translate(220, 375);
    rotate(radians(frameCount));
    translate(-220, -375);
    image(foot1, 0, 0);
  popMatrix();
  pushMatrix();
    translate(260, 372);
    rotate(radians(frameCount));
    translate(-260, -372);
    image(foot2, 0, 0);
   popMatrix();
   
}








沒有留言:

張貼留言