我提供了一个在安卓上制作的应用程序,它具有一个导航抽屉和其中的游戏列表。我必须创建另一个游戏并将其放入其中。我必须创建的游戏必须使用libGDX库,但原始应用程序没有使用此库。
是否可能实现这一点?如果是,请问如何将libGDX添加到现有项目中。在Github上,我只找到了如何使用libGDX启动新项目,而不是如何将其添加到现有代码中。谢谢。
您可以通过以下两个步骤实现:
在您的Android Gradle文件中:build.gradle(应用程序或Android模块)
dependencies {
...
// Add this line, it is recommended to use the latest LibGDX version
api "com.badlogicgames.gdx:gdx-backend-android:1.9.10"
}
选项1:为视图初始化
由于您拥有导航抽屉和更多原生于Android的代码,此选项更适合您的需求。根据此问题(如何将LibGDX添加为Android的子视图):
AndroidApplication类(扩展了Activity)有一个名为“initializeForView(ApplicationListener,AndroidApplicationConfiguration)”的方法,它将返回一个您可以添加到布局中的视图。
-- Matsemann
此外,此处有关于如何实现此选项(基于片段的LibGDX)的文档。
选项2:使用管理的活动
这是LibGDX的默认/最常见用法,您需要按如下方式更改您的代码:
public class MainActivity extends AndroidApplication {
import com.badlogic.gdx.Game;
public class LibGDXGame extends Game {
@Override
public void create() {
System.out.println("Success!");
}
}
import android.os.Bundle;
import com.badlogic.gdx.backends.android.AndroidApplication;
import com.badlogic.gdx.backends.android.AndroidApplicationConfiguration;
public class MainActivity extends AndroidApplication {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
AndroidApplicationConfiguration config = new AndroidApplicationConfiguration();
initialize(new LibGDXGame(), config);
}
}
initialize
启动Gdx时,它会调用System.loadLibrary,如果适当的.so文件丢失,它将崩溃。 - Tenfour04