2024年12月9日 星期一

week14 processing

 1. void setup(){

  size(500,500);
}
int x=-1,y=-1;
void draw(){
  if(x != -1){
    ellipse(x,y,1,1);
    y++;
  }
}
void mouseDragged(){
  if(mouseButton==LEFT) line(mouseX,mouseY,pmouseX,pmouseY);
  if(mouseButton==RIGHT){
    x = mouseX;
    y = mouseY;
  }
}

2. void setup(){
  size(500,500);
  background(255);
}
void draw(){
  
}
void mouseDragged(){
  if(mouseButton==LEFT) {
  line(mouseX,mouseY,pmouseX,pmouseY);
  loadPixels();
  for(int i=0;i<width*height;i++){
    if(pixels[i] != -1) pixels[i] = color(random(255),random(255),random(255));
  }
  updatePixels();
  }
}


3. PImage img;
void setup(){
  size(500,500);
  img = createImage(500,500,RGB);
  img.loadPixels();
  for(int i=0;i<500*500;i++) img.pixels[i] = color(#FFFFF2);
  img.updatePixels();
}
int x=250,y=0;
void draw(){
  background(img);
  ellipse(x,y,20,20);
  if(img.pixels[x+y*500]==-14) y++;
}
void mouseDragged(){
  background(img);
  line(mouseX,mouseY,pmouseX,pmouseY);
  loadPixels();
  img.loadPixels();
  for(int i=0;i<500*500;i++) img.pixels[i] = pixels[i];
  img.updatePixels();
  updatePixels();
}

4. PImage img;
void setup(){
  size(500,500);
  img = createImage(500,500,RGB);
}
//int x=250,y=0;
ArrayList<PVector> p = new ArrayList<PVector>();
void draw(){
  background(img);
  for(PVector pp : p){
  ellipse(pp.x,pp.y,20,20);
  if(pp.y<498 && img.pixels[int(pp.x)+int(pp.y)*500]==-16777216)pp.y++;
  }
}
void mouseDragged(){
  background(img);
  stroke(random(255),random(255),random(255));
  line(mouseX,mouseY,pmouseX,pmouseY);
  loadPixels();
  img.loadPixels();
  for(int i=0;i<500*500;i++) img.pixels[i] = pixels[i];
  img.updatePixels();
  updatePixels();
  for(PVector pp : p){
    ellipse(pp.x,pp.y,20,20);
  }
}
void mousePressed(){
  if(mouseButton==RIGHT){
    p.add(new PVector(mouseX,mouseY));
  }
}


5. void setup(){
  size(500,500);
  background(#FFFFF2);
}
void draw(){
  if(mousePressed && mouseButton==LEFT) line(mouseX,mouseY,pmouseX,pmouseY);
  if(mousePressed && mouseButton==RIGHT){
    loadPixels();
    color c1 = pixels[mouseX+mouseY*500];
    color c2 = color(random(255),random(255),random(255));
    if(c1!=c2)myFloodFill(mouseX,mouseY,c1,c2);
    updatePixels();
  }
}
boolean isOK(int x,int y,color c1){
  if(x<0 || y<0 || x>=500 || y>=500) return false;
  if(pixels[x+y*500] != c1) return false;
  return true;
}
void myFloodFill(int x,int y,color c1,color c2){
  pixels[x+y*500] = c2;
  if(isOK(x+1,y,c1)) myFloodFill(x+1,y,c1,c2);
  if(isOK(x-1,y,c1)) myFloodFill(x-1,y,c1,c2);
  if(isOK(x,y+1,c1)) myFloodFill(x,y+1,c1,c2);
  if(isOK(x,y-1,c1)) myFloodFill(x,y-1,c1,c2);
}

6. void setup(){
  size(500,500);
  PImage img = loadImage("1.png");
  cursor(img);
}
void draw(){
  background(255);
}

7. PImage imgCute, imgKitty;
void setup(){
  size(500,500);
  imgCute = loadImage("cute.png");
  imgKitty = loadImage("kitty.png");
  cursor(imgKitty);
}
void draw(){
  background(#FFFFF2);
  if(frameCount%120==0) cursor(imgCute);
  if(frameCount%120==60) cursor(imgKitty);
}

8. PImage imgBigCute, imgBigKitty,imgCursor;
void setup(){
  size(500,500);
  imgBigCute = loadImage("bigcute.png");
  imgBigKitty = loadImage("bigkitty.png");
  imgCursor = imgBigKitty;
}
void draw(){
  background(#FFFFF2);
  imageMode(CENTER);
  image(imgCursor, mouseX,mouseY);
  imageMode(CORNER);
  if(frameCount%120==0) imgCursor = imgBigCute;
  if(frameCount%120==60) imgCursor = imgBigKitty;
}


沒有留言:

張貼留言