[問題] 用XNA寫音樂遊戲遇到一些問題?

看板C_Sharp (C#)作者 (睡不醒)時間16年前 (2010/02/07 04:54), 編輯推噓0(002)
留言2則, 1人參與, 最新討論串1/1
我是XNA的初學者 因為畢業專題要想用XNA寫出一款音樂遊戲 但遇到一些問題查不太到資料(英文苦手Orz)可以解決... 這款音樂遊戲架構和太鼓達人、BeatMania類似 就是音符落到指定地點時需按下相對應的按鈕以消除音符並發出聲響 我的問題是 1.要怎麼把音符的顯示和音樂綁在一起呢? 我的寫法很陽春,是在選完歌進入打譜介面時產生一個計時器 然後在計時器到達指定時間時,產生一個圖案 並告訴該圖案往指定方向移動。 可是這做法讓「圖案無法在音樂的拍子上」,十次測試十次都會有不一樣的誤差... 目前看來是因為程式進入打譜介面後需要一點時間讀取音樂檔 而每次讀取音樂檔需要時間不同所致 我曾經嘗試把計時器改成去抓音樂的播放時間 但XNA跟我說這個播放時間不能拿來當變數使用... 雖然有抓到一個類似吉他英雄程式的範例檔 但程式碼太複雜,解說又都是英文,實在看不懂 2.程式在讀取音樂、影片檔的時候總需要一些讀取時間 該如何知道程式正在讀取檔案,並做出一個讀取畫面呢? 3.選單切換的動態效果,我曾直接指定一堆圖片 不斷重新繪製他們的位置、透明度等...來試著達到動態選擇、切換效果 但圖片少的時候看來沒問題,圖片一多起來程式會delay... 像這種動態效果有沒有什麼比較好的寫法? 這是目前遇到的幾個比較大的問題 如果有解釋不清的地方請直接提出我會再補述 如果有失禮的地方請見諒 Orz 先謝謝各位了 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 220.134.245.117 ※ 編輯: crushcrush 來自: 220.134.245.117 (02/07 04:56)

02/07 07:50, , 1F
你必須先知道每一首歌的Beat Per Minute是多少
02/07 07:50, 1F

02/07 07:50, , 2F
如果你不知道這個 你永遠無法對齊
02/07 07:50, 2F
文章代碼(AID): #1BRTSUZK (C_Sharp)
文章代碼(AID): #1BRTSUZK (C_Sharp)