我試圖在加載內容時將啓動畫面加入到我的XNA項目中。我嘗試了幾個教程,但沒有人幫助過我。我正在嘗試更新方法中的加載內容,強制繪製方法等。由於我在Windows PC上執行我的項目,因此我正在尋找一種解決方案,以在桌面中心顯示啓動畫面(可顯示動畫)。當內容加載時,閃屏應該消失,遊戲畫面應該彈出。XNA在內容加載時顯示啓動畫面
我正在尋找一些建議和提示,因爲我無法在互聯網上找到任何幫助,所以它是如何做到的。
就我個人而言,我正在考慮使用Forms,但我不知道如何正確使用它。
在此先感謝。
我試圖在加載內容時將啓動畫面加入到我的XNA項目中。我嘗試了幾個教程,但沒有人幫助過我。我正在嘗試更新方法中的加載內容,強制繪製方法等。由於我在Windows PC上執行我的項目,因此我正在尋找一種解決方案,以在桌面中心顯示啓動畫面(可顯示動畫)。當內容加載時,閃屏應該消失,遊戲畫面應該彈出。XNA在內容加載時顯示啓動畫面
我正在尋找一些建議和提示,因爲我無法在互聯網上找到任何幫助,所以它是如何做到的。
就我個人而言,我正在考慮使用Forms,但我不知道如何正確使用它。
在此先感謝。
由於您正在加載內容,因此您可能正在調用跨多個幀的方法調用。如果您在GUI線程上進行該調用,則會凍結遊戲,這不是您想要的。
取而代之,調用Task
中的方法,並將遊戲的狀態設置爲「加載」,並在任務完成時設置指示任務完成的狀態。
然後,在你的繪圖方法,你可以做這樣的事情:
if (state == State.Loading)
// draw loading screen
else if (State == .....
擴展什麼肯德爾弗雷說,你可以使用遊戲狀態,像這樣:
public static GameState currentGameState = GameState.Loading;
public enum GameState
{
Loading, Whatever
}
和更新或繪製:
開關(currentGameState) { 情況下(GameState.Loading): //繪製升oad screen break; case(GameState.Whatever): break; }
當然,我甚至在問一個問題之前就想使用遊戲狀態枚舉,但是感謝Kendall,我意識到我的問題可以通過使用這個簡單的遊戲狀態模式來解決。無論如何感謝回覆! – 2012-07-18 18:26:06
我只是沒有這樣想。我想在桌面上製作一些不錯的閃屏,但有時候更簡單的解決方案會更好。非常感謝你的回覆,它似乎符合我的期望。 如果有人有其他解決方案分享我會很感激他們的幫助。 – 2012-07-18 17:53:31