LibGDX - mehrere Screens

Lucaaa

Bekanntes Mitglied
Hallo!

Ich wollte mein (noch nicht vorhandenes) Spiel mit einem Menü versehen.
Meine Frage:
Wo muss ich jetzt in der GameScreen Klasse das Spiel implementieren?
Also mit der render() und der Konstruktor ist doch dann die create() oder? Also genau so wie in der ürsprungsklasse?

Java:
package com.ludevstudio.fallingblocks;

import com.badlogic.gdx.ApplicationAdapter;
import com.badlogic.gdx.Game;
import com.badlogic.gdx.Gdx;
import com.badlogic.gdx.InputProcessor;
import com.badlogic.gdx.graphics.GL20;
import com.badlogic.gdx.graphics.Texture;
import com.badlogic.gdx.graphics.g2d.SpriteBatch;

import static com.badlogic.gdx.graphics.GL20.GL_COLOR_BUFFER_BIT;

public class FallingBlocks extends Game {



   @Override
   public void create() {
      setScreen(new GameScreen(this));

   }

   @Override
   public void render() {

   }

   @Override
   public void dispose() {

   }


}

Java:
package com.ludevstudio.fallingblocks;

import com.badlogic.gdx.Game;
import com.badlogic.gdx.Gdx;
import com.badlogic.gdx.graphics.GL20;
import com.badlogic.gdx.graphics.Texture;
import com.badlogic.gdx.graphics.g2d.SpriteBatch;

import static com.badlogic.gdx.graphics.GL20.GL_COLOR_BUFFER_BIT;


public class GameScreen extends AbstractScreen {
        SpriteBatch batch;
        Texture img;



   public GameScreen(Game game) {
       super(game);

        batch = new SpriteBatch();
        img = new Texture("badlogic.jpg");

       Gdx.gl.glClearColor(0f, 0f, 1f, 1f);
       Gdx.gl.glClear(GL_COLOR_BUFFER_BIT);


   }


    @Override
    public void show() {

    }

    @Override
    public void render(float delta) {
           Gdx.gl.glClearColor(0f, 0f, 1f, 1f);
           Gdx.gl.glClear(GL_COLOR_BUFFER_BIT);

        batch.begin();
        batch.draw(img, 0, 0);
        batch.dispose();
        batch.end();

    }

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

    }

    @Override
    public void pause() {

    }

    @Override
    public void resume() {

    }

    @Override
    public void hide() {

    }

    @Override
    public void dispose() {

    }

}

[Codee=Java]
package com.ludevstudio.fallingblocks;

import com.badlogic.gdx.Game;
import com.badlogic.gdx.Gdx;
import com.badlogic.gdx.graphics.GL20;

import static com.badlogic.gdx.graphics.GL20.GL_COLOR_BUFFER_BIT;


public class MenuScreen extends AbstractScreen {


public MenuScreen(Game game) {
super(game);

Gdx.gl.glClearColor(0f, 1f, 0f, 1f);
Gdx.gl.glClear(GL_COLOR_BUFFER_BIT);

}

@Override
public void show() {

}

@Override
public void render(float delta) {
game.setScreen(new GameScreen(game));
}




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

}

@Override
public void pause() {

}

@Override
public void resume() {

}

@Override
public void hide() {

}

@Override
public void dispose() {
}





}
[/Code]
 
ich kennde diese GameEngine nicht also nur was algemeines:
Eine Game-Engine hat normalerweise mindestens eine update-Methode, entweder global oder pro Game-Objekt.
Eine Frame-basierte für Grafik-Operationen und oft auch eine Zeit-basierte für Physik-Operationen.

Normalerweise gibt es doch immer auch Beispiele wo sich bereits etwas bewegt.
 

Neue Themen


Zurück
Oben