2021年12月13日 星期一

兔寶寶的筆記 - 音樂節奏遊戲 : 陣列、自訂拍點

音樂節奏遊戲 : 陣列、自訂拍點

1-1 自訂拍點

背景圖片來源:

step1:把隨機出現的方塊改成陣列(a,b,c,d)音譜,是1代表出現。

>> 4個一維陣列表示。


step2: 新增加 beatX, beatY 畫方塊的座標。

>> beatN 從0開始。

>> 設時間 t ,每60/1秒,如果音譜有1畫出第beatN個方塊,每次beatN加1。 

1-2 方塊往下掉

>> 利用 for 迴圈讓 i 從第 0 個到第 beatN 個方塊,畫出並加速度往下(beatY)。

>> 執行後遇到小問題 : 方塊沒有跟著音譜出現,發現第一個方塊要在 c 位置出現,卻從第二個 b 位置出現第一個。

2-1 修改時間

>> 修改時間 frameCount % 60 == 1,讓第一個出現。
>> 往下掉的速度加快一點。

>> 執行後。

2-2 改善時間準確問題

>> t 從 0 開始才不會漏掉1秒前的方塊,增加prevT 表示與前一個時間間隔786s (依照人的反應時間設定) delayT 表示讀檔延遲的時間。

>> 讓讀檔案的時間不影響方塊掉下的時間,要減掉delayT。
>> 判斷現在時間 ( 減掉delayT後 )  > 前一時間,每次 t 加 1,prevT 也加 1。

3-1 音樂時間結尾要到結束畫面

>> 先在 setup () 中載入結束背景圖。

>> 假設結束時間是15 s,當 t >=15 時,顯示結束畫面,在時間內繼續執行方塊。
>>陣列超過15 s,最後面都要是 0,方塊才會跑完。


>> 執行後結果,不會因為陣列結束而卡住。


Github程式碼:


沒有留言:

張貼留言