2012-04-16 2 views
0

поэтому у меня возникли проблемы с интеграцией scoreloop в мою игру. Я использую cocos2dx, который написан на C++ и использует ndk. Основной класс приложения выведен из активности, а не из android.app.application. Добавление кнопки в макет и использование его для поднятия табло или отправки баллов работает, но он не подключается к Интернету. Я нашел решение для этого здесь: scoreloop support forum или более конкретновызов статических методов из других классов

Да, использование libgdx кажется проблемой. libgdx приносит свой собственный класс приложений, который фактически получен из Activity, а не приложения. Образец HelloWorld из libgdx не приходит с классом (Android) приложений на всех, вот как добавить один:

Создайте новый класс, который расширяет android.app.Application (не com.badlogic.gdx. backends.android.AndroidApplication)

в AndroidManifest.xml найти тег и имя созданного класса в качестве атрибута: андроид: имя = «YourApplication»

Добавьте метод общественного недействительными OnCreate() в том, что класса и инициализировать Scoreloop.

так после этого я создал это:

public class scoreLooped extends android.app.Application{ 
public void onCreate(Bundle savedInstanceState){ 
    ScoreloopManagerSingleton.init(this, "redacted"); 
} 
public void onTerminate() 
{ 
    ScoreloopManagerSingleton.destroy(); 
} 

}

и я создать этот класс от моего основного класса деятельности, как это:

public class wordsweeper extends Cocos2dxActivity implements OnScoreSubmitObserver{ 
private Cocos2dxGLSurfaceView mGLView; 
private static scoreLooped a; 

protected void onCreate(Bundle savedInstanceState){ 
    super.onCreate(savedInstanceState); 
    wordsweeper.a = new scoreLooped(); 
    //Set the observer equal to an instance of this class 
    ScoreloopManagerSingleton.get().setOnScoreSubmitObserver(this); 

и последний строка, где он сбой с ошибкой «вызвано: java.lang.IllegalStateException: ScoreloopMana gerSingleton.init() должен быть вызван первым ", так что очевидно, что класс scoreLooped не вызывает scoreloopmanager. Я думал об использовании класса scorelooped для отправки, получения табло, но, похоже, я не могу этого сделать, не увеличивая активность. Я довольно новичок в java, поэтому я мог бы пропустить что-то очевидное, поэтому было бы здорово, если бы кто-нибудь мог указать мне в правильном направлении.

ответ

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