当您使用libgdx启动项目时,它会自动使该类扩展Android应用程序。直到稍后我才想到这个,现在我想把它改成Game和Screen类。但不幸的是没有成功......
我的第一个问题是,如何更改android项目?
import android.os.Bundle;
import com.badlogic.gdx.backends.android.AndroidApplication;
import com.badlogic.gdx.backends.android.AndroidApplicationConfiguration;
public class AndroidClass extends AndroidApplication {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
AndroidApplicationConfiguration cfg = new AndroidApplicationConfiguration();
cfg.useGL20 = false;
initialize(new SplashScreen(), cfg);
}
}
我的第二个问题:如何更改桌面项目:
import com.badlogic.gdx.backends.lwjgl.LwjglApplication;
import com.badlogic.gdx.backends.lwjgl.LwjglApplicationConfiguration;
public class DeskopClass {
public static void main(String[] args) {
LwjglApplicationConfiguration cfg = new LwjglApplicationConfiguration();
cfg.title = "MyApp";
cfg.useGL20 = false;
cfg.width = 800;
cfg.height = 480;
new LwjglApplication(new SplashScreen(), cfg);
}
}
第三个问题:如何更改SplashScreen:
import com.badlogic.gdx.ApplicationListener;
import com.badlogic.gdx.Gdx;
import com.badlogic.gdx.graphics.Texture;
import com.badlogic.gdx.graphics.g2d.SpriteBatch;
public class SplashScreen implements ApplicationListener{
@Override
public void create() {
// TODO Auto-generated method stub
}
谢谢!
答案 0 :(得分:3)
Game课只是ApplicationListener
。 AndroidApplication
和Game
不是可互换的类,因为它们完成了两个不同的事情。
您需要AndroidApplication
课程才能将活动传递到ApplicationListener
课程。如果您想在应用中使用Game
课程,那么您可以随时创建自己的课程。
public class Game implements ApplicationListener {
@Override
public void dispose () {
}
@Override
public void pause () {
}
@Override
public void resume () {
}
@Override
public void render () {
}
@Override
public void resize (int width, int height) {
}
}
答案 1 :(得分:0)
libgdx中的游戏类本身就是一个ApplicationListener。
您可以创建一个扩展Game的类,并直接将其对象传递给初始化(对于android)和LwjglApplication(对于桌面)。 这样您可以毫无问题地使用setScreen。