Week07
使用數學的Sin跟Cos
畫一個像時鐘的圓
然後用畫圖 - beginShape
角度可以自己調整
+120就變成三角形了 很好理解8
-----
程式碼:
size(500,500);
beginShape();
for(int angle=0;angle<360; angle+=120 ){
float angle2 = radians(angle);
float x = 100+cos(angle2)*50;
float y = 100+sin(angle2)*50;
vertex(x,y);
}
endShape(CLOSE);
-----
可以跟著滑鼠畫了哦
-----
程式碼:
void setup() {
size(500, 500);
}
void draw() {
beginShape();
for (int angle=0; angle<360; angle+=120 ) {
float angle2 = radians(angle+mouseX);
float x = 100+cos(angle2)*50;
float y = 100+sin(angle2)*50;
vertex(x, y);
}
endShape(CLOSE);
}
-----
會動的三角形
自己會旋轉,也可以用滑鼠控制三角形的位置
寫一個接水果的程式
街到了加分,水果重生
沒接到水果直接重生
-----
程式碼:
float fruitX=150, fruitY=0;
float kidX=150, kidY=450;
int score=0;
void setup() {
size(300, 500);
}
void draw() {
background(255);
rect(kidX, kidY, 50, 80);
kidX=mouseX;
ellipse(fruitX, fruitY, 60, 80);
fruitY++;
if (fruitY>kidY) {
if (kidX < fruitX && fruitX<kidX+80)
{
score +=10;
fruitY=0;
fruitX=random(50, 450);
} else
{
fruitY=0;
fruitX=random(50, 450);
}
}
}
-----
把水果改成用陣列的方式就可以有很多水果
-----
程式碼:
//float fruitX=150, fruitY=0;
float [] fruitX = new float[10];
float [] fruitY = new float[10];
float kidX=150, kidY=450;
int score=0;
void setup() {
size(500, 500);
for (int i=0; i<10; i++)
{
fruitX[i] = random(50, 450);
fruitY[i] = -i*100;
}
}
void draw() {
background(255);
rect(kidX, kidY, 50, 80);
kidX=mouseX;
for (int i=0; i<10; i++) {
ellipse(fruitX[i], fruitY[i], 60, 80);
fruitY[i]++;
if (fruitY[i]>kidY) {
if (kidX < fruitX[i] && fruitX[i]<kidX+80)
{
score +=10;
fruitY[i]=0;
fruitX[i]=random(50, 450);
} else
{
fruitY[i]=0;
fruitX[i]=random(50, 450);
}
}
}
}
-----







沒有留言:
張貼留言