如何使用libgdx创建Android用户界面元素
我正在使用libgdx为Android开发一个游戏,我想知道如何制作Android用户界面元素,比如EditText和Button。我知道它只适用于Android,所以我将制作如下内容:如何使用libgdx创建Android用户界面元素,android,user-interface,android-edittext,libgdx,Android,User Interface,Android Edittext,Libgdx,我正在使用libgdx为Android开发一个游戏,我想知道如何制作Android用户界面元素,比如EditText和Button。我知道它只适用于Android,所以我将制作如下内容: if (Gdx.app.getType() == Application.ApplicationType.Android ) { ... } public class GameScreen implements Screen { ... } 我发现scene2d.ui可能会有所帮助,但我不使用scene2d
if (Gdx.app.getType() == Application.ApplicationType.Android ) {
...
}
public class GameScreen implements Screen {
...
}
我发现scene2d.ui可能会有所帮助,但我不使用scene2d(演员、舞台等),也不太熟悉它。相反,我使用的是Screen的,类似这样的:
if (Gdx.app.getType() == Application.ApplicationType.Android ) {
...
}
public class GameScreen implements Screen {
...
}
我在游戏原型防御(用libgdx编写)中看到了这一点。只需在android项目中使用android UI即可
他们知道如何为admob广告做广告,这样你就可以在游戏上投放广告。所有特定于Android的代码都必须存在于Android后端。您不能在公共项目中使用特定于Android的代码 所有当前的libGDX UI元素都是基于OpenGL的自定义元素(因此它们在libGDX支持的所有平台上都是一致的)。没有包装Android UI原语的元素。对于按钮、标签或列表等简单的东西,我建议使用libgdxui组件以实现可移植性。对于更复杂的元素,如文本输入,或与平台交互(例如共享或其他),您可以使用标准的“定义接口”方法来调用特定于平台的代码 具体来说,假设您想弹出一个对话框,让用户输入他们的姓名。定义
public interface PlatformUI {
public void showHighscoreNameEdit();
}
然后在Android项目中,使用Android原语在类中实现该接口。然后将此对象的实例传递到公共代码的构造函数中。现在,通用代码可以“调用”到Android层
Android初始化代码中的类似内容:
AndroidUI androidUI = new AndroidUI(...);
initialize(new Game(androidUI));
平台代码中有类似的内容:
if (timeToShowEditBox) {
androidUI.showHighscoreNameEdit();
}
正如@android developer所指出的,本文的目的是调用特定于android的AdMob库,这在本例中非常类似