从AndroidApplication扩展到Game

时间:2013-03-12 17:46:35

标签: android libgdx

当您使用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

    }

谢谢!

2 个答案:

答案 0 :(得分:3)

Game课只是ApplicationListenerAndroidApplicationGame不是可互换的类,因为它们完成了两个不同的事情。

您需要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。