Week03
畫出幾何圖形
程式碼:void setup(){
size(600,600); //視窗大小}
void draw(){
ellipse(300,300,550,550);//畫出圓形
for(int i=275;i>0;i-=10){//用迴圈畫出三角形次數
for(float angle=0;angle<PI*2;angle+=PI/3){//用迴圈畫出三角形角度
triangle(300,300,300+i*cos(angle),300+i*sin(angle),300+i*cos(angle+PI/3),300+i*sin(angle+PI/3));//畫出三角形
//(用角度值來計算長度畫出三角形)
用cos(angle)和sin(angle)來畫
(250,250)是圓心的部分
240是半徑
}
}
畫出很多三角形
先畫出很多圓形
程式碼:void setup(){
size(800,400); }
void draw(){
background(255);//設背景白色
for(int cx =10; cx<800; cx+=40){//畫圓形的X座標
for(int cy=10; cy<400;cy+=40){//畫圓形的Y座標
ellipse(cx,cy,30,30);//畫出圓形
}
}
}
接著畫出三角形
程式碼:void setup(){
size(800,400);
}
void myTriangle(int cx, int cy){//使用函式畫出三角形
float a=-PI/2;
for(int R=15; R>0; R-=5){
triangle(cx+R*cos(a), cy+R*sin(a),
cx+R*cos(a+2*PI/3), cy+R*sin(a+2*PI/3),
cx+R*cos(a-2*PI/3), cy+R*sin(a-2*PI/3));
}
}
void draw(){
background(255);
for(int cx =10; cx<800; cx+=40){
for(int cy=10; cy<400;cy+=40){
myTriangle(cx,cy);//呼叫函式
}
}
}
畫出Mario
程式碼:PImage imgMario;
float marioX=0, marioY=0;
void setup(){
size(400,600);
imgMario = loadImage("mario.png");//Only Once!(讀圖檔)
}
void draw(){
background(255);
image(imgMario,marioX,marioY,100,150);
}//Don't load any image in draw()
重要*圖檔要在setup中讀,不能在draw裡面
void keyPressed(){//使用鍵盤移動mario
if(keyCode==UP) {marioY-=5;}
if(keyCode==DOWN) {marioY+=5;}
if(keyCode==LEFT) {marioX-=5;}
if(keyCode==RIGHT) {marioX+=5;}
}
Mario墜落
程式碼:PImage imgMario;
float marioX=0, marioY=0, marioVX=2, marioVY=0,marioAX=0, marioAY=0.1;//替Mario設掉落數值
void setup(){
size(400,600);
imgMario = loadImage("mario.png");//Only Once!!
}
void draw(){
background(255);
image(imgMario,marioX,marioY,100,150);//讓Mario墜落
marioX +=marioVX; marioY +=marioVY;
marioVX+=marioAX; marioVY+=marioAY;
}//Don't load any image in draw()
void keyPressed(){
if(keyCode==UP) {marioY-=5;}
if(keyCode==DOWN) {marioY+=5;}
if(keyCode==LEFT) {marioX-=5;}
if(keyCode==RIGHT) {marioX+=5;}
}
Mario蹦蹦跳
程式碼: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");//Only Once!!
}
void draw(){
background(255);
image(imgMario,marioX,marioY,100,150);
marioX +=marioVX; marioY +=marioVY;
marioVX+=marioAX; marioVY+=0.98;
if(marioY>600-150) marioVY*=-0.9;//讓Mario不跑出視窗大小
if(marioX>400-100) marioVX*=-1;//同上
if(marioY<0) marioVY*=-0.9;//同上
if(marioX<0) marioVX*=-1;//同上
}//Don't load any image in draw()
void keyPressed(){
if(keyCode==UP) {marioY-=5;}
if(keyCode==DOWN) {marioY+=5;}
if(keyCode==LEFT) {marioX-=5;}
if(keyCode==RIGHT) {marioX+=5;}
}
沒有留言:
張貼留言