2013年10月13日 星期日
week06
float [] ballX=new float[50], ballY=new float[50];
float [] ballVX=new float[50], ballVY=new float[50];
int top=0;
int flightX=300, flightY=300, S=20;
PImage imgBall;
PImage imgFire;
void setup() {
size(600, 600);
imgBall=loadImage("http://images1.wikia.nocookie.net/__cb20120311052422/elderscrolls/images/thumb/1/10/MAGINVFireballArt.png/250px-MAGINVFireballArt.png");
for (int i=0;i<50;i++) {
newBall(i);
}
}
int bad=0;
void draw() {
if (bad==1) {
background(255, 0, 0);
for (int i=0;i<50;i++) {
ballVX[i]=0;
ballVY[i]=0;
}
}
else background(0);
for (int i=0;i<50;i++) {
triangle(flightX,flightY,flightX-S/2,flightY+S,flightX+S/2,flightY+S);
image(imgBall,ballX[i],ballY[i],S*1.5,S*1.5);
ballX[i]+=ballVX[i]; ballY[i]+=ballVY[i];
if (ballX[i]<0 || ballX[i]>600 || ballY[i]<0 || ballY[i]>600) newBall(i);
if (dist(ballX[i], ballY[i], flightX, flightY)<S)bad=1;
}
}
void newBall(int i) {
float angle =random(2*PI);
ballVX[i]=cos(angle);
ballVY[i]=sin(angle);
int dir=int (random(4));
if (dir==0) {
ballX[i]=random(600);
ballY[i]=0;
}
else if (dir==1) {
ballX[i]=random(600);
ballY[i]=600;
}
else if (dir==2) {
ballX[i]=0;
ballY[i]=random(600);
}
else if (dir==3) {
ballX[i]=600;
ballY[i]=random(600);
}
}
void mouseMoved(){
flightX=mouseX;
flightY=mouseY;
}
訂閱:
張貼留言 (Atom)
沒有留言:
張貼留言