android - 在 Chrome 和 Android 上呈现问题

标签 android google-chrome opengl-es webgl playn

我正在开发的游戏在 Java 后端和 IE 10 上呈现完美。但是在 Chrome 和 Android 上呈现很奇怪。我假设这是分别因为 WebGL 和 OpenGL。 这是它在 IE 上的样子。 IE

这是它在 Chrome 上的样子,在 Android 后端看起来也完全一样。 Chrome

背景没有渲染,只渲染了第一个和最后一个文本元素

在 Chrome 和 Android 中运行时,是否对纹理大小等有任何限制,我需要特别注意什么?我所有的纹理的尺寸都是 2 的次方。我什至尝试创建尺寸为 2 次幂的每个表面,但似乎无济于事。

更新:我修复了以下问题。这是由于我编写的 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() 似乎在一个永无止境的循环中被调用。不过,这并非每次都会发生。

最佳答案

我在查看 TriplePlay 库的源代码时突然想到我只能在 paint() 中绘制图像。我曾经将部分图像从 spritesheet 复制到不同的小部件。复制是在小部件创建期间完成的,这通常发生在响应触摸事件时。当我将图像复制切换到内部 paint() 时,它开始完美运行。

关于android - 在 Chrome 和 Android 上呈现问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9755490/

相关文章:

iphone - Eclipse:一个用于 iPhone 和 Android 的 PhoneGap 项目?

android - GetMaxAmplitude 的取值范围

sqlite - Chrome 的时间戳是什么格式?

c# - Selenium Find by Css 需要帮助。-

html - 谷歌浏览器上传按钮呈现奇怪

Android OpenGL - ES 纹理出血

android - Cordova BarcodeScanner 插件启用 Aztec 解码

android - 如何更改 Android 滚动条的颜色

android - 了解 Android 中的 android.graphics.Camera 对象

android - Android 上使用 OpenGL ES 1.0 的简单粒子系统