Проблемы с рендерингом на Chrome и Android - PullRequest
2 голосов
/ 18 марта 2012

Игра, которую я разрабатываю, прекрасно рендерится на бэкэнд Java и IE 10. Однако рендеринг на Chrome и Android странный.Я бы предположил, что это было из-за WebGL и OpenGL соответственно.Вот как это выглядит на IE.IE

Вот как это выглядит в Chrome, и оно выглядит точно так же и на бэкэнде Android.Chrome

Фон не отображается, и отображаются только первый и последний текстовые элементы

Есть ли какие-либо ограничения на размер текстуры и т. Д. При работе в Chrome и Android, что-нибудь конкретноеЯ должен заботиться о?Все мои текстуры имеют размеры в 2 с.Я даже пытался создать каждую поверхность с размерами, равными 2 с, но, похоже, это не помогло.

Обновление: я исправил следующую проблему.Это произошло из-за ошибки в написанном мной наборе инструментов пользовательского интерфейса, когда новая поверхность создавалась каждый раз при установке текста виджета.

Я не уверен, связана ли следующая проблема, но иногдаигра вылетает на 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 (), кажется, вызывается в бесконечном цикле.Впрочем, это происходит не каждый раз.

1 Ответ

0 голосов
/ 20 марта 2012

Я искал исходный код библиотеки TriplePlay, когда мне пришло в голову, что я могу рисовать изображения только в paint ().Раньше я копировал части изображений из таблицы спрайтов в разные виджеты.Копирование было выполнено во время создания виджета, который обычно происходил в ответ на событие касания.Когда я переключил копирование изображения во внутреннюю часть paint (), оно начало работать отлично.

...