*向量、物件、函式
01 物件向量+速度
程式碼:
PVector user; PVector userV; void setup(){ size(400,400); user = new PVector(200,200); 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; if(user.y>400-50) userV.y=-1; if(user.x<50) userV.x=+1; if(user.y<50) userV.y=+1; }
02 使用 Pixels 完成電流急急棒
程式碼 :
PImage imgMap; void setup(){ size(400,400); imgMap = loadImage("map.png"); imgMap.loadPixels(); } void draw(){ background(imgMap); if(imgMap.pixels [mouseX+mouseY*400] ==color(237,28,36)){ background(255,0,0); } fill(imgMap.pixels[mouseX+mouseY*400]); rect(250,250,100,100); }03 使用 random 示範彈幕程式碼: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(2)+1;} if(bullet[i].x>500){ bullet[i].x=500;bulletV[i].x=-random(2)-1;} if(bullet[i].y<0){ bullet[i].y=0;bulletV[i].y=random(2)+1;} if(bullet[i].y>500){ bullet[i].y=500;bulletV[i].y=-random(2)-1;} } }





沒有留言:
張貼留言