2012-04-16 201 views
0

所以我有一些问题集成scoreloop到我的游戏。我使用C++编写的cocos2dx并使用了ndk。主应用程序类是从activity而不是从android.app.application派生的。将一个按钮添加到布局并使用它来调出记分牌或提交分数工程,但它不连接到互联网。我发现这里的解决方案:scoreloop support forum或更具体地说调用其他类的静态方法

是的,使用libgdx似乎是问题。 libgdx带来了它自己的应用程序类,它实际上是从Android的活动派生的,而不是应用程序。从libgdx HelloWorld示例不来的(安卓),应用类可言,这里是如何添加一个:

创建一个扩展android.app.Application一个新的类(不com.badlogic.gdx。 backends.android.AndroidApplication)

在AndroidManifest.xml中找到标签和创建的类作为属性的名称:Android:NAME =“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很新,所以我可能会漏掉一些明显的东西,所以如果有人能指出我的方向是正确的,那就太好了。

回答