Example usage for com.badlogic.gdx.graphics.g2d SpriteBatch setProjectionMatrix

List of usage examples for com.badlogic.gdx.graphics.g2d SpriteBatch setProjectionMatrix

Introduction

In this page you can find the example usage for com.badlogic.gdx.graphics.g2d SpriteBatch setProjectionMatrix.

Prototype

@Override
    public void setProjectionMatrix(Matrix4 projection) 

Source Link

Usage

From source file:com.anhld.game.WorldRenderer.java

License:Apache License

private void renderWorld(SpriteBatch batch) {
    worldController.cameraHelper.applyTo(camera);
    camera.update();/*w  w  w .j  a v a 2 s.com*/
    batch.setProjectionMatrix(camera.combined);
    batch.begin();
    if (Stores.getInstance().getObjectStores().get(Constants.BACKGROUND) != null) {
        batch.draw(Stores.getInstance().getObjectStores().get(Constants.BACKGROUND),
                -Stores.getInstance().getObjectStores().get(Constants.BACKGROUND).getRegionWidth() * 0.5f,
                -Stores.getInstance().getObjectStores().get(Constants.BACKGROUND).getRegionHeight() * 0.5f);
    }

    if (Stores.getInstance().getObjectStores().get(Constants.SHADOWN) != null) {
        Stores.getInstance().getObjectStores().get(Constants.SHADOWN)
                .setRegionWidth((int) virtualViewport.getVirtualWidth());
        batch.draw(Stores.getInstance().getObjectStores().get(Constants.SHADOWN),
                -virtualViewport.getVirtualWidth() / 2, virtualViewport.getVirtualHeight() / 2
                        - Stores.getInstance().getObjectStores().get(Constants.SHADOWN).getRegionHeight());
    }

    if (Stores.getInstance().getObjectStores().get(Constants.SCORE) != null)
        batch.draw(Stores.getInstance().getObjectStores().get(Constants.SCORE), -50,
                virtualViewport.getVirtualHeight() / 2
                        - Stores.getInstance().getObjectStores().get(Constants.SCORE).getRegionHeight() - 10);
    worldController.gameLogic.render(batch);
    batch.end();

}

From source file:com.binarytenshi.nopassing.state.MainGameScreen.java

@Override
public void render(float delta) {
    Camera camera = CameraHandler.getCamera();
    SpriteBatch batch = NoPassing.getSpriteBatch();
    Rectangle viewport = CameraHandler.getViewport();

    camera.update();//from   w w w  .j  a v  a2s.  c  o m
    camera.apply(Gdx.gl10);

    Gdx.gl.glClearColor(0, 0, 0, 0);
    Gdx.gl.glViewport((int) viewport.x, (int) viewport.y, (int) viewport.width, (int) viewport.height);
    Gdx.gl.glClear(GL10.GL_COLOR_BUFFER_BIT);

    batch.setProjectionMatrix(camera.combined);

    batch.begin();
    MapHandler.draw(batch);
    batch.end();

    SplineHandler.drawSplines();
}

From source file:com.bladecoder.engine.model.Scene.java

License:Apache License

public void draw(SpriteBatch batch) {

    if (background != null) {
        batch.disableBlending();/*from w  w w .j  a  va 2s .co  m*/
        batch.setProjectionMatrix(camera.calculateParallaxMatrix(1, 1));
        batch.begin();

        float x = 0;

        for (AtlasRegion tile : background) {
            batch.draw(tile, x, 0f);
            x += tile.getRegionWidth();
        }

        batch.end();
        batch.enableBlending();
    }

    // draw layers from bottom to top
    for (int i = layers.size() - 1; i >= 0; i--) {
        SceneLayer layer = layers.get(i);

        batch.setProjectionMatrix(camera.calculateParallaxMatrix(layer.getParallaxMultiplier(), 1));
        batch.begin();
        layer.draw(batch);
        batch.end();
    }
}

From source file:com.bladecoder.engine.ui.CreditsScreen.java

License:Apache License

@Override
public void render(float delta) {
    final SpriteBatch batch = ui.getBatch();
    final int width = (int) viewport.getWorldWidth();
    final int height = (int) viewport.getWorldHeight();

    Gdx.gl.glClearColor(0, 0, 0, 1);/*  ww w.  ja  v  a  2 s.  c  om*/
    Gdx.gl.glClear(GL20.GL_COLOR_BUFFER_BIT);

    batch.setProjectionMatrix(viewport.getCamera().combined);
    batch.begin();

    if (style.background != null) {
        style.background.draw(batch, 0, 0, width, height);
    }

    scrollY += delta * SPEED * EngineAssetManager.getInstance().getScale();

    float y = scrollY;

    if (stringHead >= credits.size())
        ui.setCurrentScreen(Screens.MENU_SCREEN);

    for (int i = stringHead; i < credits.size(); i++) {
        String s = credits.get(i);

        char type = 'c'; // types are 'c' -> credit, 't' -> title, 'i' -> image, 's' -> space, 'm' -> music

        if (s.indexOf('#') != -1) {
            type = s.charAt(0);
            s = s.substring(2);
        }

        switch (type) {
        case 't':
            y = processCreditTitle(batch, width, height, y, i, s);
            break;
        case 'i':
            y = processCreditImage(batch, width, height, y, i, s);
            break;
        case 's':
            y = processCreditSpace(height, y, i, s);
            break;
        case 'm':
            processCreditMusic(s);
            break;
        default:
            y = processCreditDefault(batch, width, height, y, i, s);
            break;
        }

        if (y < 0) {
            break;
        }
    }

    batch.end();
}

From source file:com.bladecoder.engine.ui.defaults.DefaultSceneScreen.java

License:Apache License

@Override
public void render(float delta) {
    final World world = World.getInstance();

    update(delta);/*from www. j  a  v a2 s  .c  om*/

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

    if (world.getAssetState() != AssetState.LOADED)
        return;

    SpriteBatch batch = ui.getBatch();

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

    // WORLD CAMERA
    world.draw();

    // DRAW DEBUG BBOXES
    if (EngineLogger.debugMode() && EngineLogger.getDebugLevel() == EngineLogger.DEBUG1) {
        renderer.setProjectionMatrix(world.getSceneCamera().combined);
        world.getCurrentScene().drawBBoxLines(renderer);
        renderer.end();
    }

    // STAGE
    stage.draw();

    // SCREEN CAMERA
    batch.setProjectionMatrix(viewport.getCamera().combined);
    batch.begin();

    // DRAW DEBUG STRING
    if (EngineLogger.debugMode()) {
        drawDebugText(batch);
    }

    if (!world.inCutMode() && !recorder.isPlaying() && !testerBot.isEnabled()) {
        pointer.draw(batch, viewport);
    }

    Transition t = world.getTransition();

    t.draw(batch, viewport.getScreenWidth(), viewport.getScreenHeight());

    recorder.draw(batch);
    testerBot.draw(batch);

    if (drawHotspots)
        drawHotspots(batch);

    batch.end();
}

From source file:com.bladecoder.engine.ui.HelpScreen.java

License:Apache License

@Override
public void render(float delta) {
    SpriteBatch batch = ui.getBatch();

    Gdx.gl.glClearColor(0, 0, 0, 1);// w ww  . j a va2  s . co m
    Gdx.gl.glClear(GL20.GL_COLOR_BUFFER_BIT);

    batch.setProjectionMatrix(viewport.getCamera().combined);
    batch.begin();
    batch.draw(tex, 0, 0, viewport.getScreenWidth(), viewport.getScreenHeight());
    batch.end();
}

From source file:com.bladecoder.engine.ui.InitScreen.java

License:Apache License

@Override
public void render(float delta) {
    SpriteBatch batch = ui.getBatch();

    Gdx.gl.glClearColor(0, 0, 0, 1);//from  ww  w.j  a v  a  2s  .co  m
    Gdx.gl.glClear(GL20.GL_COLOR_BUFFER_BIT);

    batch.setProjectionMatrix(viewport.getCamera().combined);
    batch.begin();

    if (time > FADE_TIME * 2 + SCREEN_TIME) { // EXIT INIT SCREEN
        batch.setColor(Color.WHITE);
        ui.setCurrentScreen(Screens.MENU_SCREEN);
    } else if (time > FADE_TIME + SCREEN_TIME) { // FADE_OUT
        batch.setColor(1, 1, 1, 1 - fadeTime / FADE_TIME);
    } else if (time < FADE_TIME) { // FADE IN
        batch.setColor(1, 1, 1, fadeTime / FADE_TIME);
    } else {
        fadeTime = 0;
    }

    final int viewportW = viewport.getScreenWidth();
    final int viewportH = viewport.getScreenHeight();
    final float texW = tex.getWidth() * scale;
    final float texH = tex.getHeight() * scale;
    batch.draw(tex, (viewportW - texW) / 2, (viewportH - texH) / 2, texW, texH);
    batch.setColor(1, 1, 1, 1);

    time += delta;
    fadeTime += delta;
    batch.end();
}

From source file:com.bladecoder.engine.ui.LoadingScreen.java

License:Apache License

@Override
public void render(float delta) {

    // Try to load scene for WAIT_TIME_MS before continue. If not loaded in
    // this time,
    // show the loading screen
    if (wait) {//from   w w  w .  ja  va  2s  .c o m
        float t0 = System.currentTimeMillis();
        float t = 0f;
        while (EngineAssetManager.getInstance().isLoading() && t - t0 < WAIT_TIME_MS) {
            t = System.currentTimeMillis();
        }
    }

    if (!EngineAssetManager.getInstance().isLoading()) {
        ui.setCurrentScreen(Screens.SCENE_SCREEN);
        return;
    }

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

    // Only show the squares when time > INIT_TIME
    if (initTime < INIT_TIME_SEG) {
        initTime += delta;
        return;
    }

    final SpriteBatch batch = ui.getBatch();

    batch.setProjectionMatrix(viewport.getCamera().combined);
    batch.begin();

    update(delta);

    for (int i = 0; i < numSquares; i++) {
        final Color color = i == pos ? Color.WHITE : Color.GRAY;
        RectangleRenderer.draw(ui.getBatch(), x + i * (squareWidth + margin), y, squareWidth, squareHeight,
                color);
    }
    batch.end();
}

From source file:com.bladecoder.engine.ui.retro.RetroSceneScreen.java

License:Apache License

@Override
public void render(float delta) {
    final World world = World.getInstance();

    update(delta);/*  w w w.j a v a2s . co  m*/

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

    if (world.getAssetState() != AssetState.LOADED)
        return;

    SpriteBatch batch = ui.getBatch();

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

    // WORLD CAMERA
    if (world.getInventory().isVisible()) {
        worldViewport.setScreenY(screenViewport.getScreenY() + (int) verbUI.getHeight());
        worldViewport.setScreenHeight(screenViewport.getScreenHeight() - (int) verbUI.getHeight());
        world.resize(world.getWidth(), world.getHeight() * (1 - UI_SCREEN_PERCENT));
    } else {
        worldViewport.setScreenY(screenViewport.getScreenY());
        worldViewport.setScreenHeight(screenViewport.getScreenHeight());
        world.resize(world.getWidth(), world.getHeight());
    }

    worldViewport.apply(true);

    world.draw();

    // DRAW DEBUG BBOXES
    if (EngineLogger.debugMode() && EngineLogger.getDebugLevel() == EngineLogger.DEBUG1) {
        renderer.setProjectionMatrix(world.getSceneCamera().combined);
        world.getCurrentScene().drawBBoxLines(renderer);
        renderer.end();
    }

    // SCREEN CAMERA
    batch.setProjectionMatrix(worldViewport.getCamera().combined);
    batch.begin();

    // DRAW DEBUG STRING
    if (EngineLogger.debugMode()) {
        drawDebugText(batch);
    }

    Transition t = world.getTransition();

    t.draw(batch, worldViewport.getScreenWidth(), worldViewport.getScreenHeight());

    recorder.draw(batch);
    testerBot.draw(batch);

    if (drawHotspots)
        drawHotspots(batch);

    batch.end();

    worldViewportStage.draw();

    // STAGE CAMERA
    screenViewport.apply(true);
    stage.draw();
}

From source file:com.bladecoder.engineeditor.ui.SceneList.java

License:Apache License

private TextureRegion createBgIcon(String atlas, String region) {
    TextureAtlas a = new TextureAtlas(Gdx.files
            .absolute(Ctx.project.getProjectPath() + "/" + Project.ATLASES_PATH + "/1/" + atlas + ".atlas"));
    AtlasRegion r = a.findRegion(region);

    if (r == null) {
        a.dispose();//w w  w  .  j a va2 s. c o m
        return null;
    }

    FrameBuffer fbo = new FrameBuffer(Format.RGBA8888, 200,
            (int) (r.getRegionHeight() * 200f / r.getRegionWidth()), false);

    SpriteBatch fboBatch = new SpriteBatch();
    fboBatch.setColor(Color.WHITE);
    OrthographicCamera camera = new OrthographicCamera();
    camera.setToOrtho(false, fbo.getWidth(), fbo.getHeight());
    fboBatch.setProjectionMatrix(camera.combined);

    Gdx.gl.glDisable(GL20.GL_SCISSOR_TEST);
    fbo.begin();
    fboBatch.begin();
    fboBatch.draw(r, 0, 0, fbo.getWidth(), fbo.getHeight());
    fboBatch.end();

    TextureRegion tex = ScreenUtils.getFrameBufferTexture(0, 0, fbo.getWidth(), fbo.getHeight());
    // tex.flip(false, true);

    fbo.end();
    Gdx.gl.glEnable(GL20.GL_SCISSOR_TEST);

    fbo.dispose();
    a.dispose();
    fboBatch.dispose();

    return tex;
}