#android #andengine
#Android #andengine
Вопрос:
Привет, ребята из игрового движка,
Это вопрос к тем, кто работал с AndEngine для Android.
У меня проблема с получением текстового примера работы AndEngineExampleLauncher!
Он выдает следующее исключение:
09-30 10:11:19.940: ERROR/AndroidRuntime(466): FATAL EXCEPTION: main
09-30 10:11:19.940: ERROR/AndroidRuntime(466): java.lang.StackOverflowError
09-30 10:11:19.940: ERROR/AndroidRuntime(466): at org.anddev.andengine.ui.activity.BaseGameActivity.getFontManager(BaseGameActivity.java:137)
09-30 10:11:19.940: ERROR/AndroidRuntime(466): at org.anddev.andengine.ui.activity.BaseGameActivity.getFontManager(BaseGameActivity.java:137)
09-30 10:11:19.940: ERROR/AndroidRuntime(466): at org.anddev.andengine.ui.activity.BaseGameActivity.getFontManager(BaseGameActivity.java:137)
Я погуглил эту ошибку, и кажется, что у некоторых других парней такая же проблема, но я нигде не смог найти решение!
Кто-нибудь смог заставить этот пример работать, не получив эту ошибку StackOverflowError 80-х и 90-х годов !.
Действительно ценю вашу помощь.
Спасибо, Мохамед А.Карим
Комментарии:
1. Добавьте код, который вы пытаетесь…
2. @LalitPoptani Я просто пытаюсь запустить AndEngineExample, с моей стороны нет кода. Пример исходного кода: code.google.com/p/andengineexamples
Ответ №1:
Это очень странно, но я потратил время на отладку AndEngine BaseGameActivity.java класс из AndEngine src, и я нашел причину проблемы:
Вот метод, поставляемый с getFontManger():
public FontManager getFontManager() {
return this.getFontManager();
}
Это типичная причина переполнения стека… Самый классический.
Я изменил этот метод на:
public FontManager getFontManager() {
return this.mEngine.getFontManager();
}
И текстовый пример AndEngine теперь работает как шарм.
Итак, вот шаги, которые я сделал, чтобы заставить текстовый пример AndEngine работать: 1- Перейдите к проекту AndEngine (исходный код, который вы импортируете в свою игру) 2- Перейдите в класс org.anddev.andengine.ui.activity.BaseGameActivity.java 3- Перейдите к методу: getFontManager() 4- Измените возвращаемое значение с: return this.getFontManager(); На: return this .mEngine.getFontManager();
Я надеюсь, что это может помочь всем, у кого такая же проблема
Действительно ценю огромные усилия @Nicolas Grammich за создание такого невероятного игрового движка.
Спасибо, Мохамед.
Комментарии:
1. Мне интересно, почему они не добавляют это исправление в исходный код на github?
2. Не стесняйтесь подавать запрос на извлечение =)