2012-03-18 2 views
2

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

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

+4

'java.lang.StackOverflowError' ... похоже, что вы пришли в нужное место для помощи;) –

+0

Какой у вас размер текстуры? –

+0

Немного 512x512 и около 1024x1024. Мой телефон Samsung Galaxy R, и я уверен, что он способен к этим размерам текстур. – BlueSilver

ответ

0

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

Смежные вопросы