我可以使用GDX(平台特定代码)中的android方法,但是可以从android后端获取libgdx方法吗? 我有Firebase数据库。在游戏的android方面,我捕获了数据库中的所有更改。而且我需要将这些更改转移到我的核心后端(例如,更新一些参与者,标签等)。最好的方法是什么?
答案 0 :(得分:1)
好消息,这是可能且简单的,只需导入所需的内容即可,例如LibGDX中的Color类
import com.badlogic.gdx.graphics.Color;
public class AndroidLauncher extends AndroidApplication {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
AndroidApplicationConfiguration config = new AndroidApplicationConfiguration();
Color color = new Color();
initialize(new Game(), config);
}
希望这就是您需要的
答案 1 :(得分:1)
可以使用Interfacing访问core module
内部的特定于平台的API。
core-module
是所有平台的共同组成部分,因此您可以访问项目中的任何位置。
如果您想ApplicationListener
/ call any method
核心模块,请保留对access data member
的引用。
内部android模块:
public class AndroidLauncher extends AndroidApplication {
MyGdxGame gdxGame;
@Override
protected void onCreate (Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
AndroidApplicationConfiguration config = new AndroidApplicationConfiguration();
gdxGame=new MyGdxGame();
initialize(gdxGame, config);
}
public void andoridMethod(){
System.out.println(gdxGame.x); //access data member
gdxGame.doSomething(); //access method
}
}
内部核心模块:
public class MyGdxGame implements ApplicationListener {
public int x=4;
public void doSomething(){}
// Life cycle methods of ApplicationListener
}
答案 2 :(得分:0)
如Aryan所建议的那样,如果仅从Android代码中调用核心函数,则该代码将在其他线程上执行,除非您将代码设计为线程安全的,否则可能会导致问题。
如果要确保它在Gdx渲染线程上执行,则应在Android代码中保留对游戏的引用,然后使用
Gdx.app.postRunnable(new Runnable(){
@Override
public void run(){
gdxGame.doSomething();
}
})
然后,应在渲染循环开始时(在输入处理之前)执行runnable。