我试图让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异常......我的猜测是我在初始化()之后才能使用Gdx.app。所以我尝试在initialize()之后使用setFbhandler()函数设置fbhandler,但这给了我相同的结果。
答案 0 :(得分:3)
将调用this.fbhandler.test();
置于create()
必须具有的RPS
方法中(它必须是ApplicationListener
的子类,对吧?)
在Libgdx中,直到create
方法开始之前,库的初始化才完成(Libgdx基础结构将调用它来指示您的应用已启动),因此您无法访问Gdx.<anything>
直到那时。