2024年12月9日 星期一

HSY_WEEK14_

 //week14_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;

  }

}

___________________________________________________________


//week14_2

void setup(){

  size(500,500);

  background(255);

}

void draw(){

  

}

void mouseDragged(){

  if(mouseButton==LEFT){

    line(mouseX,mouseY,pmouseX,pmouseY);

    loadPixels();

    //println(pixels[0]);

    for(int i=0; i<width*height; i++){

      if(pixels[i] != -1) pixels[i] = color(random(255),random(255),random(255));

    }

    updatePixels();

  }

}


_______________________________________________________________


//week14_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();

}


______________________________________________________


//week14_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));

  }

}


_________________________________________________________


//week14_5

PImage img;

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);

}


________________________________________


//week14_6

void setup(){

  size(500,500);

  PImage img = loadImage("kitty.png");

  cursor(img);

}

void draw(){

  background(#FFFFF2);

}

___________________________________


//week14_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);

}


________________________________________________


//week14_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;

}

沒有留言:

張貼留言