我創建了一個帶有「按Enter鍵開始遊戲」的內控屏幕,(和退出)課程出口不是問題,而是讓遊戲開始變得更加困難。有什麼建議?「按回車開始遊戲」XNA簡介屏幕
3
A
回答
2
最簡單的方法是設置狀態機。這看起來很簡單。
enum GameState { TitleScreen = 0, GameStarted, GameEnded, }
東西然後在Game1.cs,或任何你正在處理此按鈕點擊,就可以把一個變量在你的類來存儲你是在當前的遊戲狀態。
GameState currentGameState = GameState.TitleScreen;
然後,你做你編碼實際遊戲平局或更新之前,您可以查看當前遊戲狀態
void Draw(GameTime time) { if(currentGameState == GameStarted) { //Then handle the game drawing code here } }
update方法將基本上看起來一樣
1
我使用的系統效果很好(對我來說)
設置一個叫做像IContext的接口。在這有void Draw()和void Update()。
然後在遊戲中有一個名爲Context的公共IContext。你只需在提供的gameloop中調用context.update()和context.draw()即可。
然後菜單屏幕只需實現IContext。您傳遞通過其構造參考你的遊戲對象,它可以讓您從您插入的任何對象更改上下文。
所以你在「菜單」,並在菜單中塞當您recive的輸入關鍵你打電話this.game.context = new level01();
希望這是有道理的。
尼克
1
由於ninename說狀態機是這裏的路。然而,我會說,你看這個樣本 - http://create.msdn.com/en-US/education/catalog/sample/game_state_management - 由微軟提供,而不是自己攀登。
非常容易暗示和改變惠斯特涵蓋很多你想做的事情,包括輸入處理。
相關問題
- 1. 延遲開始XNA遊戲切換到全屏搞亂介紹屏幕
- 2. XNA Framework遊戲簡介HiDef/Reach
- 3. XNA遊戲 - 播放視頻作爲開始屏幕
- 4. 遊戲開始前的電影介紹
- 5. 開始開發賽車遊戲
- 6. 有沒有辦法在遊戲開始之前進行簡介?
- 7. XNA遊戲 - 在啓動遊戲之前打開彈出窗口或自定義遊戲屏幕
- 8. 在XNA中開始和結束屏幕
- 9. XNA遊戲開發kickstart
- 10. 如何在iOS遊戲中添加簡介/首頁/標題屏幕
- 11. 我的遊戲的Python開始屏幕沒有pygame
- 12. Libgdx - 使用屏幕後立即開始遊戲
- 13. 在ios遊戲中添加開始和結束屏幕
- 14. 如何創建Java遊戲開始屏幕?
- 15. 創建HTML5 Canvas遊戲的開始屏幕?
- 16. 屏幕有時在遊戲開始空白
- 17. 統一開始遊戲時觸摸屏
- 18. 介紹屏幕按鈕ViewPager
- 19. 開源cocos2d賽車遊戲
- 20. C#XNA基於屏幕大小的比例遊戲
- 21. 在XNA遊戲啓動的白色屏幕上卡住
- 22. 如何在WP7 XNA的遊戲中添加一個屏幕?
- 23. 簡單介紹java遊戲編程
- 24. 屏幕滾動遊戲
- 25. 開始WP8遊戲
- 26. 我的遊戲如何在開始屏幕上有寬屏圖標?
- 27. pygame遊戲沒有按鍵開始
- 28. 按[enter]開始遊戲,沒有錯誤
- 29. 開始Android遊戲開發
- 30. 開始屏幕
[XNA中的非常簡單的菜單]的可能重複(http://stackoverflow.com/questions/3941418/very-simple-menu-in-xna) – bzlm 2010-10-17 10:41:36