期末作業開工啦2
💓💙💚💛💜💓💙💚💛💜💓💙💚💛💜💓💙💚💛💜💓💙💚💛💜💓💙💚💛💜💓💙
😅繼續補齊Blog,發現大家的禮拜都不一樣!
🌚今日早上的遊戲引擎依舊好累,被老師放生的我們QQ
💜(這一個禮拜明園有夜市,買了拔絲地瓜,比之前貴了$10阿阿,但我還是照買)
----------------------------------------------------------------------------------------------------------
1.今日換我們來聽老師的解說了!!
2.老師幫我們列了三個主題: (1)蟑螂會從哪裡出現,如何對應移動速度與方向? (2)藍白拖怎麼打死蟑螂? (3)如何使用三角函數使蟑螂有亂跑的效果? sinx ,cosx,tanx;3.開始製作打蟑螂
(1)蟑螂會從哪裡出現,如何對應移動速度與方向?
(2)藍白拖怎麼打死蟑螂?
(3)如何使用三角函數使蟑螂有亂跑的效果? sinx ,cosx,tanx;
3.開始製作打蟑螂
💩!準備開始囉!💩
----------------------------------------------------------------------------------------------------------
☛首先老師先選出三個核心主題為我們解說
//探討主題:
//(1)蟑螂會從哪裡出現,如何對應移動速度與方向?
//(2)藍白拖怎麼打死蟑螂?
//(3)如何使用三角函數使蟑螂有亂跑的效果? sinx ,cosx,tanx;
----------------------------------------------------------------------------------------------------------
☛全部程式碼如下:
float x,y,vx,vy;
void setup(){
size(300,300);
generateCockroach();
}
void draw(){
background(128);
fill(0);//蟑螂顏色
ellipse(x,y,10,10);
x+=vx; y+=vy;//若超過左邊界、右邊界,則會隨機產生蟑螂。
if(x<0 || y<0||x>300||y>300)generateCockroach();//不管邊界x,y<0或x,y>300,都會產生新的蟑螂。
noFill(); ellipse(mouseX,mouseY,80,80);//產生藍白拖。
if(mousePressed && dist(mouseX,mouseY,x,y)<40)//如果藍白拖拍打蟑螂時,蟑螂的x,y座標小於40,則死掉。
generateCockroach();//死後產生新的蟑螂。
if(frameCount%10==0){//每一秒,改一次角度
float angle = atan2(vy,vx);
//float angle2=(angle+radians(90));//時間到就轉90度。
float angle2=(angle+radians(random(-30,30)));//時間到就轉30度。
vx =cos(angle2);
vy =sin(angle2);
}
}
void generateCockroach(){
int edge=int (random(4));//4個邊
if(edge==0){
x=300;y=random(300);vx=-random(1,3);vy=random(-3,+3);
}else if(edge==1){
x=random(300);y=300;vx=-random(-3,3);vy=random(1,3);
}else if(edge==2){
x=0;y=random(300);vx=random(1,3);vy=random(-3,+3);
}else if(edge==3){
x=random(300);y=0;vx=random(-3,3);vy=random(1,3);
}
}
----------------------------------------------------------------------------------------------------------
此為執行畫面:
黑點點為蟑螂,而大圈圈則為藍白拖。
蟑螂已會隨便亂跑,而不是單一直線行走(更有蟑螂的感覺)
當大圈圈點向黑點點,黑點點會消失,接著跑出下一個黑點點(目前一次出現一個黑點點)
----------------------------------------------------------------------------------------------------------
以上為現在的進度,核心已大致上完成。
(下一次會在試做時間及得分!!)
沒有留言:
張貼留言