2012-05-27 16 views
2

我正在使用XNA。我想知道如果在菜單屏幕上,我可以使標題圖片(PNG)像抖動框一樣震動。我有一個特定的MP3,將在後臺播放。你有什麼想法可以做到這一點?非常感謝!標題來自Audio XNA的Shake

+0

我正在玩GetVisualizationData方法,但我無法弄清楚我將如何根據聲音縮放圖像。 –

回答

0

兩種方法:

  • 搬來任意時尚韻律標題以這樣一種方式,它似乎正好與音樂。搗鼓它,直到它看起來不錯。不幸的是,如果你改變了歌曲,你將不得不重新調整動畫。
  • 使用MediaPlayer類播放歌曲並使用其GetVisualizationData方法獲取頻率和樣本數據。以某種方式將標題作爲其功能移動。再次,你必須自己找出一個好的啓發式。例如,如果您在最後的X個樣本上平均得到絕對幅度,那麼您就可以測量音量,因此您可以使動畫或多或少地取決於該動畫。

我不會在這上面花太多時間,玩家往往會花時間玩,而不是欣賞主菜單。

+0

我會使用GetVisualizationData方法。如果我要這樣做,我該怎麼做。我可以從GetVisualizationData中獲得一個整數,只是縮放圖像一點點? –

+0

@ChanceLeachman查看我鏈接到的方法的定義,以及VizualizationData的定義。它爲您提供幅度和頻率數據,您可以使用它來計算您想要的任何動畫:縮放,平移,色彩偏移等等。如果你不明白這些數據代表什麼,你應該閱讀數字聲音的基礎知識。 – Asik

+0

我已經花了約一個小時在這...我只是無法找到一個方法來做到這一點。你可以給我代碼,我可以做到這一點?我想在這裏拍照: title = new Sprite(Content.Load (「Picture」),new Rectangle(50,50,100 + FREQUENCY,100 + FREQUENCY)); –