如何在gdx游戏中打开另一个类

时间:2016-12-02 00:43:39

标签: libgdx

好的,我刚刚拿出来。我对Android编码非常陌生。我也只是在手机上使用AIDE。

我想打开另一个标记为aboutgame.java的类

我不确定如何发布我的代码,但现在就去了。

package com.bernco.screenoff;

import com.badlogic.gdx.*;
import com.badlogic.gdx.graphics.*;
import com.badlogic.gdx.graphics.g2d.*;
import com.badlogic.gdx.scenes.scene2d.*;
import com.badlogic.gdx.scenes.scene2d.ui.*;
import com.badlogic.gdx.scenes.scene2d.ui.TextButton;
import com.badlogic.gdx.scenes.scene2d.ui.TextButton.TextButtonStyle;
import com.badlogic.gdx.scenes.scene2d.ui.ImageButton;




public class MyGdxGame implements ApplicationListener
{

    Texture texture;
    Texture pwrdby;
    Texture about;
    SpriteBatch batch;
    SpriteBatch pwrbtch;
    SpriteBatch abtbtch;







    @Override
    public void create()
    {
        texture = new Texture(Gdx.files.internal("dark-android.jpg"));
        about = new Texture(Gdx.files.internal("about.png"));
        pwrdby = new Texture(Gdx.files.internal("powered-by.png"));
        batch = new SpriteBatch();
        abtbtch = new SpriteBatch();
        pwrbtch = new SpriteBatch();
    }

    @Override
    public void render()
    {        
        Gdx.gl.glClearColor(0f, 0f, 0f, 0f);
        Gdx.gl.glClear(GL20.GL_COLOR_BUFFER_BIT);
        abtbtch.begin();
        abtbtch.draw(about, Gdx.graphics.getWidth() - about.getWidth() / 2, Gdx.graphics.getHeight() - about.getHeight() / 2,
                Gdx.graphics.getWidth() / 8, Gdx.graphics.getWidth() / 8);

        abtbtch.end();

        batch.begin();
        batch.draw(texture, Gdx.graphics.getWidth() / 80, 0, 
                   Gdx.graphics.getWidth() / 1, Gdx.graphics.getWidth() / 2);
        batch.end();

        pwrbtch.begin();
        pwrbtch.draw(pwrdby, Gdx.graphics.getWidth() / 80, 0,
                    Gdx.graphics.getWidth() / 4, Gdx.graphics.getWidth() / 3);
        pwrbtch.end();
    }

    @Override
    public void dispose()
    {
    }

    @Override
    public void resize(int width, int height)
    {
    }

    @Override
    public void pause()
    {
    }

    @Override
    public void resume()
    {
    }


}

1 个答案:

答案 0 :(得分:3)

欢迎来到StackOverflow!

从较高的层面来说,多屏幕游戏所需要的是一个代表你的应用程序的类,以及一些代表你游戏中不同屏幕的其他类。

在libGDX中,这意味着您希望扩展Game类,而不是实现MyGdxGame的{​​{1}}类。这是libGDX提供的实用程序类,它为您提供管理屏幕所需的一些框架代码。这个类不是绘制自己,而是告诉你的一个屏幕类来绘制自己。然后,当您想要更改屏幕时,请致电ApplicationListener将其指向新屏幕。

然后,您的每个屏幕类都需要实现Screen界面,该界面将向您展示实施游戏所需的方法。

我建议您查看官方libGDX wiki上的两个教程:A Simple GameExtending the Simple Game。他们提供了桌面和Android的示例,后者将向您介绍如何使用Game#setScreen(...)Game的示例。