畫出美美的圖(討厭的sin cos
程式碼
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));
}
}
變多一點線
程式碼
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));
}
}
}
整齊的三角形(有密集恐懼症的人別看
程式碼
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=20;cx<800;cx+=40)
{
for(int cy=20;cy<400;cy+=40)
{
myTriangle(cx,cy);
}
}
}
小遊戲
馬力歐(上下左右移動(要自己按
程式碼
PImage imgMario;
float marioX=0, marioY=0;
void setup()
{
size(400,600);
imgMario = loadImage("mario.png");///只能讀一次
}
void draw()
{
background(255);
image(imgMario, marioX, marioY, 100,150);
}
void keyPressed()
{
if(keyCode==UP) {marioY-=5;}
if(keyCode==DOWN) {marioY+=5;}
if(keyCode==LEFT) {marioX-=5;}
if(keyCode==RIGHT) {marioX+=5;}
}
馬力歐拋物線掉下去
程式碼
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, 100,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;}
}
馬力歐自己跳
程式碼
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, 100,150);
marioX += marioVX; marioY += marioVY;
marioVX += marioAX; marioVY += 0.98;
if(marioY>600-150) marioVY*=-0.9;
if(marioX>400-100) marioVX*=-1;
if(marioY<0) marioVY*=-0.9;
if(marioX<0) marioVX*=-1;
}
馬力歐自己跳(有軌跡有邊界
程式碼
PImage imgMario;
float marioX=0, marioY=0, marioVX=1, marioVY=0, marioAX=0, marioAY=0.1;
void setup()
{
size(400,600);
imgMario = loadImage("mario.png");
}
void draw()
{
//background(255);
image(imgMario, marioX, marioY, 100,150);
marioX += marioVX; marioVX +=0;
marioY += marioVY; marioVY += 0.98;
if(marioY>500)
{
marioVY = - marioVY *0.8;
marioY=500;
}
if(marioX>300) marioVX = - marioVX;///邊界
if(marioX<0) marioVX = -marioVX;
}
沒有留言:
張貼留言