2014-01-30 65 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