Hirdetés

Új hozzászólás Aktív témák

  • trisztan94

    őstag

    Miért nem vált át a GameOver screen-re a game? (libgdx) :F

    if(catched == 1){
    setScreen(new GameOver(true));
    }

    Nincs külön class-ekre bontva az app (nagyon egyszerű, nincs rá szükség), a MainGame.class így néz ki:

    public class MainGame extends Game {
    create metódus(),
    render metódus(),
    ... stb
    }

    A render metódusban amikor "elkapok egy vízcseppet", akkor a catched 1-el növekszik, de ez működik is, mert a fenti elágazásba egy log-ot is raktam, és szépen kiírja, hogy nyertél.

    a setScreen(new GameOver(true)); átal átadott boolean érték azt mondja, hogy nyert-e a játékos, vagy veszített-e.

    A GameOver class egy másik mappában van (Screen/GameOver.class) és az így néz ki:

    public class GameOver implements Screen{

    boolean win;

    Texture bucketTexture;
    Texture dropTexture;
    SpriteBatch batch;
    OrthographicCamera camera;

    public GameOver(boolean win)
    {
    this.win = win;
    }

    @Override
    public void render(float delta) {

    Gdx.gl.glClearColor(0, 0, 0, 1);
    Gdx.gl.glClear(GL20.GL_COLOR_BUFFER_BIT);
    batch.begin();
    if(win == true){
    batch.draw(bucketTexture, camera.viewportWidth / 2, camera.viewportHeight / 2);
    }
    else{
    batch.draw(dropTexture, camera.viewportWidth / 2, camera.viewportHeight / 2);
    }
    batch.end();
    }
    //... satöbbi

    Amikor át kéne váltania a Screen-t, akkor semmi sem történik, csak egy másodpercre befagy a játék és folytatódik tovább :F :F

Új hozzászólás Aktív témák