Let's create XNA Game!
提醒,如果想要玩XACT3.0,請下載最新版的DirectX SDK March 2008嗯,剛剛下午看到XACT3.0的介紹又看到有人為XNA寫了一個LIB來支援XACT3.0所以剛剛將所有的環境都準備好以後呢就來玩看看了如果沒有玩太仔細XACT的話,可能會沒有發現"轉換格式(compression preset)"在2.0只有PCM ADPCM這兩個轉換格式(這個格式就是導致為什麼在2.0編譯出來的XWB這麼大)2.0以前編譯出來的檔案格式XSB,如果你不去做其他設定,他就是將WAV直接編譯結果,導致音樂如果很多的話,檔案就很大(WAV檔案,大家都知道超胖的= =)雖然知道有些XNA的維護人士,有發現這個現象,推出了輔助專案,像是可以支援MP3、OGG等現在XNA的小組,也注意到這一點了,所以在XACT3.0的時候,新增了轉換格式WMA,如圖可以看到新增了WMA這個轉換格式,前提呢,你的聲音檔還是必須是要WAV或是AIF質量的部分,可以依據喜好選擇(質量越高,檔案越大,質量越小,檔案較小)接下來,這邊有個比較重要的事情,這個XAP專案,XNA是不認識這個版本的,所以我們只好用XACT3.0內建的Bulid來建立XNA所需要XSG XSB XWB這些檔案在File->Bulid,瀏覽去找到儲存好的XAP檔案,在選擇Finish就會進行編譯了就會在Win、Xbox,看到相對應的XSG XSB XWB檔案。接下來,專案部分新增一個XNA的專案,在Content裡面,將剛剛XACT產生出來的XSG XSB XWB檔案加入這邊是不需要加入XAP檔案的,因為XNA不認得這個版本,如果你加上去的話,會發生編譯錯誤接下來,點選XSG的檔案,下面屬性(properties)的地方,Bulid Action這個欄位選擇None再把XSG,XSB,XWB檔案,複製到Debug->Content,目錄底下,免得等等編譯後他說找不到檔案接下來程式部分首先要先引入Bnoerj.Audio的命名空間(請先在REFERENCES,增加Bnoerj.Audio.dll的檔案(這個檔案可以在前一篇的網址下載)接下來其他部分就跟原始的操作方式一樣,增加AudioEngine、WaveBank、SoundBank等等AudioEngine engine;SoundBank sound;WaveBank wave;Cue cue;...protected override void LoadContent(){ spriteBatch = new SpriteBatch(GraphicsDevice); engine = new AudioEngine("Content/test1.xgs"); wave = new WaveBank(engine, "Content/Wave Bank.xwb"); sound = new SoundBank(engine, "Content/Sound Bank.xsb"); cue = sound.GetCue("sv6"); cue.Play();}做完以後就可以編譯了XD看看結果吧,可以發現到唷XWB真的降低很大的空間看到這個結果真高興,因為我們的遊戲背景音樂,Mp3才24MB總共轉出來以後WAV到了400MB= =雖然,3.0可以用wma,可能沒有比MP3好,不過在DirectX上面都有轉成WMA這個格式所以估計在XNA3.0的XACT中,應該會有這個選項,所以蠻期待的
DotBlogs Tags: XNA posted on 2008/12/5 21:28 | 我要推薦 | 閱讀數 : 2095 | 分類[ XNA ] 訂閱
Copyright © 獃獃