1.圓形移動碰到邊緣會反彈

PVector user; PVector userV; void setup(){ size(400,400); user=new PVector(200,200);//PVector向量 userV=new PVector(1,1); } void draw(){ background(255); ellipse(user.x,user.y,100,100); user.add(userV); if(user.x>400-50) userV.x=-1;//50是減去圓形半徑 if(user.y>400-50) userV.y=-1; if(user.x<50) userV.x=+1; if(user.y<50) userV.y=+1; }2.電流急急棒 (碰到紅色線畫面會變紅色)
PImage imgMap; void setup(){ size(400,400);//大小要和圖片大小一樣 imgMap=loadImage("map.png"); imgMap.loadPixels(); ///把圖片的直放到Pixels[]裡 } void draw(){ background(imgMap); if(imgMap.pixels[mouseX+mouseY*400]==color(237,28,36)){ //mouseX+mouseY*400滑鼠座標對應幾個Pixel background(255,0,0); } fill(imgMap.pixels[mouseX+mouseY*400]); rect(250,250,100,100); }3.隨機發射星星
int[] value= new int[100]; PVector[]bullet =new PVector[100]; PVector[]bulletV=new PVector[100]; void setup(){ size(500,500); for(int i=0;i<100;i++){ bullet[i]=new PVector(random(500),random(500)); bulletV[i]=new PVector(random(4)-2,random(4)-2); } } void draw(){ background(0); for(int i=0;i<100;i++){ fill(255); bullet[i].add(bulletV[i]); ellipse(bullet[i].x,bullet[i].y,5,5); if(bullet[i].x<0){bullet[i].x=0; bulletV[i].x=random(4);} if(bullet[i].x>500){bullet[i].x=500; bulletV[i].x=-random(4);} if(bullet[i].y<0){bullet[i].y=0; bulletV[i].y=random(4);} if(bullet[i].y>500){bullet[i].y=500; bulletV[i].y=random(4);} } }


沒有留言:
張貼留言