我創建了一個帶有「按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. 遊戲開始前的電影介紹
- 3. 開始開發賽車遊戲
- 4. XNA遊戲 - 在啓動遊戲之前打開彈出窗口或自定義遊戲屏幕
- 5. XNA遊戲開發kickstart
- 6. 創建HTML5 Canvas遊戲的開始屏幕?
- 7. 我的遊戲的Python開始屏幕沒有pygame
- 8. 如何在WP7 XNA的遊戲中添加一個屏幕?
- 9. 介紹屏幕按鈕ViewPager
- 10. 開源cocos2d賽車遊戲
- 11. 屏幕滾動遊戲
- 12. 簡單介紹java遊戲編程
- 13. pygame遊戲沒有按鍵開始
- 14. XNA遊戲組件
- 15. 鼠標XNA遊戲
- 16. XNA遊戲性能
- 17. XNA遊戲教程
- 18. Xna遊戲開發 - 遊戲背景問題
- 19. 非XNA遊戲進入遊戲?
- 20. XNA 2d街機遊戲精靈按照
- 21. XNA加載/啓動畫面在遊戲開始
- 22. 在cocos2d中爲遊戲開發創建「開發者屏幕」
- 23. 在多人遊戲中從'guest'開車的遊戲杆?
- 24. 開始做遊戲的Android
- 25. 演示遊戲賽車遊戲crashs(GamerServicesNotAvailableException)
- 26. 淡入遊戲加載的初始屏幕
- 27. 幫助需要開始開發簡單的拼圖遊戲
- 28. AS3賽車遊戲?
- 29. iOS遊戲都是一個屏幕?
- 30. Android屏幕上的遊戲杆問題
[XNA中的非常簡單的菜單]的可能重複(http://stackoverflow.com/questions/3941418/very-simple-menu-in-xna) – bzlm 2010-10-17 10:41:36