2016年3月24日 星期四

week05 好多視窗!


如何做出很多的 Java 視窗每一個都能有 void setup() 及 void draw()來做動作



import java.awt.Frame;

PFrame f;

secondApplet s;

void setup() {
 size(320, 240);
 PFrame f = new PFrame();
}

void draw() {
  background(255,0,0);
   fill(255);
   rect(10,10,frameCount%100,10);
   s.background(0, 0, 255);
   s.fill(100);
   s.rect(10,20,frameCount%120,10);
   s.redraw();
}

public class PFrame extends Frame {
    public PFrame() {
        setBounds(100,100,400,300);
        s = new secondApplet();
        add(s);
        s.init();
        show();
    }
}

public class secondApplet extends PApplet {
    public void setup() {
        size(400, 300);
        noLoop();
    }

    public void draw() {
    }

void setup(){
  size(120,100);
}
void draw(){
  float t=frameCount/180.0*PI;
  background(0);
  fill(255);
  ellipse(40,50,33,33);
  ellipse(120-40,50,33,33);
  fill(0);
  ellipse(40+15*cos(t),50+15*sin(t),5,5);
  ellipse(120-40+15*cos(t),50+15*sin(t),5,5);
}

滑鼠可以控制眼睛方向喔!!!

void setup(){
  size(120,100);
}
void draw(){
  //float t=frameCount/180.0*PI;
  background(0);
  fill(255);
  ellipse(40,50,33,33);
  ellipse(120-40,50,33,33);
  fill(0);
  float t=atan2(mouseY-50,mouseX-45);
  ellipse(40+15*cos(t),50+15*sin(t),5,5);
  t=atan2(mouseY-50,mouseX-(120-40));
  ellipse(120-40+15*cos(t),50+15*sin(t),5,5);
}

挖賽!3D在動欸!!

void setup(){
  size(600,600);
}
void draw(){
  background(255);
  float t=frameCount/100.0;
  for(float f=0;f<PI;f+=0.1){
    rect(200+150*cos(f+t),f*100,30,30);
    rect(200+150*cos(f+t+PI),f*100,30,30);
  }

}

沒有留言:

張貼留言