3

libgdx を Facebook SDK で動作させようとしているので、プラットフォーム固有のコードを実行する必要があると考えました。

私は Android から始めました。これが私の onCreate です。

public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);

    AndroidApplicationConfiguration cfg = new AndroidApplicationConfiguration();
    cfg.useGL20 = false;
    cfg.useAccelerometer = false;
    cfg.useCompass = false;

    initialize(new RPS(new androidFacebookHandler()), cfg);
}

RPS のコンストラクタは非常に単純です。

public RPS(facebookHandler _fbhandler) {
    this.fbhandler = _fbhandler;
    this.fbhandler.test();
}

fbhandler の test() 関数は単純です。(androidFacebookHandler は facebookHandler を実装します)

Gdx.app.log("debug", "test");

ただし、このサンプルでは nullpointer 例外が発生します...私の推測では、initialize() の後まで Gdx.app を使用できないと思います。そのため、initialize() の後に setFbhandler() 関数を使用して fbhandler を設定しようとしましたが、これは同じ結果になります。

4

1 に答える 1

3

を持っている必要がthis.fbhandler.test();あるcreate()メソッドに呼び出しを入れます(サブクラスである必要がありますよね?)RPSApplicationListener

Libgdxでは、ライブラリの初期化はメソッドの開始直前まで完了しないためcreate(Libgdxインフラストラクチャによって呼び出され、アプリが起動したことを示します)、それGdx.<anything>まではアクセスできません。

于 2013-03-13T05:08:12.417 に答える