//week14_01_draw_line_mouseDragged_mouseButton_LEFT_RIGHT
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_02_draw_lines_loadPixels_pixels_updatePixels
void setup()
{
size(500,500);
background(255);
}
void draw()
{
loadPixels();
for(int i=0;i<width*height;i++)
{
if(pixels[i] != -1)pixels[i] = color(random(255),random(255),random(255));
}
updatePixels();
}
void mouseDragged()
{
if(mouseButton==LEFT)
{
line(mouseX,mouseY,pmouseX,pmouseY);
}
}
//week14_03_draw_lines_rain_PImage_img_loadPixels_pixels_updatePixels
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_04_draw_lines_rain_ArrayList_PVector_p_pp
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);
line(mouseX,mouseY,pmouseX,pmouseY);
stroke(random(255),random(255),random(255));
loadPixels();
img.loadPixels();
for(int i=0; i<500*500; i++)img.pixels[i]=pixels[i];
img.updatePixels();
updatePixels();
for(PVector pp:p)
{
ellipse(x,y,20,20);
}
}
void mousePressed()
{
if(mouseButton == RIGHT)
{
p.add(new PVector(mouseX,mouseY));
}
}
//week14_05_draw_lines_myFlooFill_x_y_c1_c2_pixels_isOK
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) myFlooFill(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 myFlooFill(int x,int y,color c1,color c2)
{
pixels[x+y*500]=c2;
if(isOK(x+1,y,c1)) myFlooFill(x+1,y,c1,c2);
if(isOK(x-1,y,c1)) myFlooFill(x-1,y,c1,c2);
if(isOK(x,y+1,c1)) myFlooFill(x,y+1,c1,c2);
if(isOK(x,y-1,c1)) myFlooFill(x,y-1,c1,c2);
}
//week14_06_cute_cursor
void setup()
{
size(500,500);
PImage img = loadImage("kitty.png");
cursor(img);
}
void draw()
{
background(#FFFFF2);
}
//week14_07_cute_cursor_kitty_cursor
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_08_big_cursor_imageMode_image_imageMode
PImage imgBigCute, imgBigKitty, imgCursor;
void setup()
{
size(500,500);
imgBigCute = loadImage("cute.png");
imgBigKitty = loadImage("kitty.png");
imgCursor = imgBigKitty;
}
void draw()
{
background(#FFFFF2);
imageMode(CENTER);
image(imgCursor,mouseX,mouseY);
imageMode(CENTER);
if(frameCount%120==0)imgCursor = imgBigCute;
if(frameCount%120==60)imgCursor = imgBigKitty;
}
沒有留言:
張貼留言