我正在开发的游戏在 Java 后端和 IE 10 上完美呈现。但是在 Chrome 和 Android 上的呈现很奇怪。我假设这分别是因为 WebGL 和 OpenGL。这是它在 IE 上的外观。
这是它在 Chrome 上的外观,在 Android 后端上看起来也完全相同。
背景没有被渲染,只有第一个和最后一个文本元素被渲染
在 Chrome 和 Android 中运行时,纹理大小等是否有任何限制,我需要特别注意什么?我所有的纹理都有 2s 的维度。我什至尝试用 2s 的力量创建每个表面,但这似乎没有帮助。
更新:我修复了以下问题。这是由于我编写的 UI 工具包中的一个错误,每次设置小部件的文本时都会创建一个新的表面。
我不确定以下问题是否相关,但有时游戏会在 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() 似乎从未被调用过结束循环。不过,这种情况并非每次都会发生。