1. 播音樂
(1) 複製上週程式碼
(2) 切換場景、暫停音樂
# 設變數 int stage 切換場景
# 新增 mousePressed()
# 設定 if-else //切換場景和停止與撥放音樂
# sound1.stop(); //暫停音樂
# 設變數 int stage 切換場景
# 新增 mousePressed()
# 設定 if-else //切換場景和停止與撥放音樂
# sound1.stop(); //暫停音樂
(3) 切換場景、暫停音樂
# 在 draw() 設定兩個舞台、寫上stage狀態:
# 在 draw() 設定兩個舞台、寫上stage狀態:
text( "stage 1",100,100); //在100,100的地方印出stage 1、2
# 在 setup() 設定字型大小和顏色
# 在 setup() 設定字型大小和顏色
textSize(50); //設定字型size
fill(255,0,0); //字型顏色
(4) 切文字
# void mousePressed(){
if(stage==1) stage=2;
else if(stage==2) stage=1;
}
---------------------------------- github ----------------------------------
2. 水果起飛、消滅 - 暫停球飛動
(1) 設變數
# 設 fruitX/Y 控制位置、設加速度 float fruitVX=1,fruitVY=-1;
# boolean flying=true //控制使否往上
(2) 修改draw()
# 加背景、圓形ellipse(fruitX,fruitY,50,50)
(3) 新增keyPressed()
# 當按下時,停止,flying=false;
---------------------------------- github ----------------------------------
3. 水果起飛、消滅 - 換顆球
(1) 改變數
# fruitY 改成 300,從底部飛出
# fruitVX 改 2, fruitVY 改 -13 //負的往左,正的往右
# fruitY 改成 300,從底部飛出
# fruitVX 改 2, fruitVY 改 -13 //負的往左,正的往右
(2) 修改draw()
# 在 if(flying) 放入 fruitVY+=0.98/3; //使重力往下
(3) 新增fruitReset() - 飛新水果
# void fruitReset(){
fruitX=random(100,300); //隨機值,介於100 - 300
fruitY=300; //固定飛的高度
fruitVX=random(-2,+2); //隨機值,介於-2 - +2
fruitVY=-13; //變成原本的速度
flying=true; //可以繼續飛
}
---------------------------------- github ----------------------------------
4. 修改程式碼 - class
(1) 設變數Class Fruit - 每個水果都可以用物件畫出來
# 設定 x , y , vx , vy , boolean 變數
# 設定 reset() 和 update()
# 主程式改成用 Fruit 的 Class
# 設定 x , y , vx , vy , boolean 變數
# 設定 reset() 和 update()
# 主程式改成用 Fruit 的 Class
(2) 呼叫 PApplet sketch 函式庫
# 為了後面可以用random函式
---------------------------------- github ----------------------------------
4. 一次三顆水果
(1) class簡化頁面
# 新增分頁,取名為Fruit
# 把Class的程式碼複製貼上
# 新增分頁,取名為Fruit
# 把Class的程式碼複製貼上
(2) 修改class
# 新增 String[] 放入 所有英文字母
# 新增 char 變數放水果上的字串
# c = line.charAt(i); //對應陣列第 i 個字母
(3) 修改主程式
# 宣告 Fruit [] fruits;
# setup()
新增 fruits = new Fruit[3];
利用for迴圈去偵測3個fruit (fruit都要改成fruits[i])
# draw()
設定字體大小、字體顏色、字體置中、和印出字
textSize(30); //字體大小
textAlign(CENTER, CENTER); //置中
fill(0); //顏色
text(fruits[i].c, fruits[i].x, fruits[i].y); //印字
# keyPressed()
偵測鍵盤的字,看是否跟 fruits[i].c 一樣
如果一樣就 reset();
---------------------------------- github ----------------------------------
沒有留言:
張貼留言