2014-01-30 67 views
1

好的,所以我在过去的一个月里一直在制作一款游戏,这真的是一个相当简单的游戏。但是我陷入了一个问题,即我的游戏会“黑屏”,背景完全变黑,fps从大约60直到大约0-3,游戏基本崩溃。我唯一的想法可能是造成这种情况的主要“级别”类文件的渲染方法。这是Level.java文件的代码。如果需要更多信息,我会很乐意提供我能做的。谢谢。为什么我的LibGdx游戏在几分钟的游戏后停止运行?

http://pastebin.com/AfNceFA8 - Level.java

回答

3

好了,最大的问题是这样的:

totalDeathText.setText(deathCount); 
totalDeathText.setPosition(new Vector2(150, 32)); //<------- 

levelDeaths.setText(levelDeathCount); 
levelDeaths.setPosition(new Vector2(150, 64)); //<------- 

tutText.setText("Press Space to start!"); 
tutText.setPosition(new Vector2(250, 432)); //<------- 
LevelText.setText(levelCount + " fps: " + Gdx.graphics.getFramesPerSecond()); 
LevelText.setPosition(new Vector2(100, 480)); //<------- 

你正在创造新的载体每一帧,即缓慢而稳步地会引起问题。也不要每帧添加Inpuprocessor,在create/constructos中执行。如果那不能解决它,那么我们需要更多的信息,比如崩溃堆栈跟踪

+0

非常感谢!我编辑了代码,并会尽快测试解决方案。如果有效,我会将其标记为正确的答案。谢谢! – Dylan

+2

@SketchistGames而不是创建新的Vecotr2,你可以使用myVector = Pools.obtain(Vector2.class),并在你不再需要时调用Pools.free(myVector)。 – Springrbua

+1

或使用'.setPosition(float x,float y)' – BennX