做出好看的圖案
1.先畫出一個圓形跟多個三角形
void setup(){
size(500,500);
}
void draw(){
ellipse(250,250,480,480); 畫圓
for(float angle=0; angle<PI*2;angle+=PI/3){
triangle(250,250, 畫三角形
250+240*cos(angle),250+240*sin(angle),
250+240*cos(angle+PI/3),250+240*sin(angle+PI/3));
}
} 角度用sin cos
2.改變三角形的半徑
void setup(){
size(500,500);
}
void draw(){
ellipse(250,250,480,480);
for(float angle=0; angle<PI*2;angle+=PI/3){
for(int R=0;R<=240;R+=20){
noFill();
triangle(250,250,
250+R*cos(angle),250+R*sin(angle),
250+R*cos(angle+PI/3),250+R*sin(angle+PI/3));
}
}讓半徑變小就變成很像蜘蛛網的東西
}
3. 馬力歐跑起來
PImage imgMario;
float marioX=0, marioY=0; //馬力歐起始點在(0,0)
void setup(){
size(400,600);
imgMario = loadImage("mario.png");
}
void draw(){
background(255);
image(imgMario, marioX, marioY, 150, 150);
}
void keyPressed(){ //用鍵盤來操控馬力歐
if(keyCode==UP) {marioY-=5;}
if(keyCode==DOWN) {marioY+=5;}
if(keyCode==LEFT) {marioX-=5;}
if(keyCode==RIGHT) {marioX+=5;}
}
4.讓馬力歐有地心引力or重力or加速度
PImage imgMario;
float marioX=0, marioY=0, marioVX=2, marioVY=0,marioAX=0, marioAY=0.1;
void setup(){
size(400,600);
imgMario = loadImage("mario.png");
}
void draw(){
//background(255);
image(imgMario, marioX, marioY, 150, 150);
marioX+=marioVX; marioY+=marioVY;
marioVX+=marioAX; marioVY+=marioAY;
}
void keyPressed(){
if(keyCode==UP) {marioY-=5;}
if(keyCode==DOWN) {marioY+=5;}
if(keyCode==LEFT) {marioX-=5;}
if(keyCode==RIGHT) {marioX+=5;}
}
5.彈跳的馬力歐
void draw(){
background(255);
image(imgMario, marioX, marioY, 150, 150);
marioX+=marioVX; marioY+=marioVY;
marioVX+=marioAX; marioVY+=marioAY;
if(marioY>600-150) marioVY*=-0.9;
if(marioX>400-100) marioVX*=-1;
if(marioX<0) marioVX*=-1;
if(marioY<0) marioVY*=-0.9;
}
沒有留言:
張貼留言