2012-03-18 106 views
2

我正在開發的遊戲在Java後端和IE 10上完美呈現。但是,Chrome和Android上的渲染很奇怪。我認爲這是因爲OpenGL分別是WebGL &。 以下是它在IE上的外觀。 IEChrome和Android上的渲染問題

下面是它在Chrome上的外觀,它在Android後端上的外觀也完全相同。 Chrome

背景沒有得到呈現,而只有第一個和最後一個文本元素得到了呈現

是在Chrome和Android,什麼特別運行時,我要照顧的紋理大小等任何限制?我所有的紋理都有2s的大小。我甚至嘗試創建尺寸爲2s的每個表面,但它似乎沒有幫助。

更新:我修復了以下問題。這是由於我編寫的用戶界面工具包中存在一個錯誤,在每次設置小部件文本時都會創建一個新表面。

我不知道如果下面的問題是相關的,但有時在Android遊戲崩潰,並顯示以下異常:

03-16 14:22:29.010 E/AndroidRuntime(16253): FATAL EXCEPTION: GLThread 10 
03-16 14:22:29.010 E/AndroidRuntime(16253): java.lang.StackOverflowError 
03-16 14:22:29.010 E/AndroidRuntime(16253):  at playn.android.AndroidPlatform.log(AndroidPlatform.java:28) 
03-16 14:22:29.010 E/AndroidRuntime(16253):  at playn.core.PlayN.log(PlayN.java:120) 
...... 
...... 
...... 
playn.core.gl.GLContext$Pender.process(GLContext.java:242) 
03-16 14:22:29.010 E/AndroidRuntime(16253):  at playn.core.gl.GLContext$Pender.process(GLContext.java:242) 
03-16 14:22:29.010 E/AndroidRuntime(16253):  at playn.core.gl.GLContext$Pender.process(GLContext.j 

這是因爲在http://code.google.com/p/playn/source/browse/core/src/playn/core/gl/GLContext.java,GLContext $ Pender.process()似乎被稱爲一個永無止境的循環。不過這並不是每次都會發生。

+4

'java.lang.StackOverflowError' ...看起來像你來到正確的地方尋求幫助;) – 2012-03-18 02:27:54

+0

什麼是你的紋理大小? – 2012-03-18 02:31:26

+0

一些512x512,以及一些1024x1024。我的手機是三星Galaxy R,而且我很確定它能夠處理這些紋理尺寸。 – BlueSilver 2012-03-18 02:36:41

回答

0

我在查看TriplePlay庫的源代碼時,發現我只能在paint()中繪製圖像。我曾經從spritesheet複製圖像的部分到不同的小部件。複製是在小部件創建過程中完成的,這通常是針對觸摸事件發生的。當我將圖像複製切換到內部paint()時,它開始工作完美。