Q
XNA遊戲凍結
0
A
回答
0
您的更新方法中有括號的小錯字。
protected override void Update(GameTime gameTime)
if (GamePad.GetState(PlayerIndex.One).Buttons.Back == ButtonState.Pressed || Keyboard.GetState().IsKeyDown(Keys.Escape))
Exit();
//updating mobs and checking for collisions
foreach (Mobs M in mobsList)
{
// Updating the mobs, collision checking, etc here
...
...
Player.update(gameTime);
bG.update(gameTime);
loadAsteroids();
loadMobs();
foreach (Roids R in asteroidList)
{
// Updating the asteroids, collision checking, etc
...
...
M.update(gameTime);
R.update(gameTime);
}
base.Update(gameTime);
}
}
這裏有兩個主要的錯誤。首先,這一位代碼:
Player.update(gameTime);
bG.update(gameTime);
loadAsteroids();
loadMobs();
foreach (Roids R in asteroidList)
{
// Updating the asteroids, collision checking, etc
...
M.update(gameTime);
R.update(gameTime);
}
base.Update(gameTime);
將在第一個foreach循環內運行。每當您致電更新時,您都會爲每個暴徒更新玩家,背景,每個小行星和一次窗口。這只是意味着每次更新都會發生一次,而不是每個正在更新的怪物發生一次。 這就是爲什麼你的遊戲滯後或凍結。這只是暴民的foreach循環中的支架錯位 - 將所有這些東西都轉移到foreach循環之外。
另一件事錯的是這個部分:
foreach (Roids R in asteroidList)
{
// Updating the asteroids, collision checking, etc
...
M.update(gameTime); /* THIS LINE HERE */
R.update(gameTime);
}
在這裏,你每一次小行星更新每個黑幫成員。如果你在屏幕上有15個小行星,每個暴徒成員將被更新15次。將它排到第一個foreach循環中。
相關問題
- 1. 凍結遊戲
- 2. removeAll()凍結遊戲
- 3. Unity遊戲凍結
- 4. Gamemaker遊戲凍結電腦
- 5. XNA遊戲組件
- 6. XNA遊戲性能
- 7. 鼠標XNA遊戲
- 8. XNA遊戲教程
- 9. C#XNA無遊戲網絡遊戲
- 10. 非XNA遊戲進入遊戲?
- 11. xna的最佳結構街機遊戲
- 12. 使用帶有XNA(Windows)遊戲項目的XNA(Windows)遊戲庫
- 13. Java遊戲在戰鬥中凍結
- 14. 線程循環凍結遊戲窗口
- 15. OPENGLES遊戲每3秒鐘凍結
- 16. Pygame遊戲中的字符被凍結
- 17. 本地多人遊戲XNA
- 18. XNA遊戲嵌入網站
- 19. 在XNA遊戲中progressBar
- 20. 確定XNA遊戲滯後
- 21. XNA遊戲狀態管理
- 22. XNA遊戲分發問題
- 23. 遊戲配置和XNA
- 24. FlatRedBall XNA遊戲引擎
- 25. XNA for WP7遊戲:DrawUserIndexedPrimitives
- 26. C#XNA槳球遊戲
- 27. XNA Windows遊戲(4.0)ContentLoadException
- 28. XNA遊戲開發kickstart
- 29. XNA連續平臺遊戲
- 30. XNA - 凍結菜單錯誤
請向我們展示在發生這種情況時正在處理的部分代碼。 –
我不知道什麼時候開始這樣做,我以爲我已經完成了它,我跑了它。視覺工作室可以看到的代碼中沒有錯誤。 – Baccy
是的,但我們看不到任何代碼,所以我們完全不知道問題出在哪裏。 –