2012-04-16 12 views
0

私はscoreloopを自分のゲームに組み込む際にいくつか問題があります。私はC++で書かれたcocos2dxを使い、ndkを使います。主なアプリケーションクラスは、android.app.applicationからではなく、アクティビティから導出されます。レイアウトにボタンを追加し、それを使ってスコアボードを出したりスコアを提出したりすることはできますが、インターネットには接続しません。私はここの解決策を見つけました:scoreloop support forum以上、具体的には他のクラスの静的メソッドを呼び出す

はい、libgdxを使用しているようです。 libgdxはアプリケーションクラスではなく、実際にはAndroidのActivityから派生した独自のApplicationクラスを持っています。 libgdxからHelloWorldサンプルは、ここでは、まったく(アンドロイド)アプリケーションクラスが付属していないものを追加する方法です:

android.app.Application(com.badlogic.gdxないを拡張する新しいクラスを作成します。それに名前=「YourApplication」

メソッドpublic空のonCreateを(追加):アンドロイド:AndroidManifest.xmlにはbackends.android.AndroidApplication)

は、タグや属性として作成されたクラスの名前を見つけますそこに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クラスを使用して提出し、scoreboardsを取得することについて考えてきましたが、私は活動を拡張せずにそれを行うことはできないようです。私はかなりJavaの新しいので、誰かが正しい方向に私を指すことができればそれは素晴らしいだろうので、私は何か明白なものが不足している可能性があります。

答えて

関連する問題