繁体   English   中英

变暗 Libgdx 平铺 Map

[英]Darken Libgdx Tiled Map

我是 Libgdx 的新手,正在做一个具有某些功能的游戏原型。 我目前无法实现的其中一项是将 map 变暗,这样我的角色就可以在黑暗的 map 中“发光”。

在混合 Output 之前:变暗前

目前,我使用TiledMapTiledMapRenderer加载我的 map。

加载我的 map:

TiledMap map = new TmxMapLoader().load("map/ascent/ascent.tmx");
float unitScale = 2f;
OrthogonalTiledMapRenderer tiledMapRenderer = new OrthogonalTiledMapRenderer(map, unitScale);

在我的render()方法中:

@Override
    public void render(float delta) {
        Gdx.gl.glClear(GL20.GL_COLOR_BUFFER_BIT);

        // Run the playMovement Method
        player1Movement(playerHashMap.get(p1), delta);

        // Draw the Map
        tiledMapRenderer.setView(camera);
        tiledMapRenderer.render();

        // Set the brightness and blend function
        float lightness = .1f;
        Gdx.gl.glClearColor(lightness,lightness,lightness,1f);
        tiledMapRenderer.getBatch().enableBlending();
        tiledMapRenderer.getBatch().setBlendFunction(GL20.GL_SRC_ALPHA, GL20.GL_ONE);

        // Begin Batch drawing
        tiledMapRenderer.getBatch().begin();

        // Draw the light
        tiledMapRenderer.getBatch().draw(light, p1.box.x - 25f, p1.box.y - 25f, 80, 80);

        // Draw the player
        playerHashMap.forEach((player, input) -> player.draw(tiledMapRenderer.getBatch()));

        tiledMapRenderer.getBatch().end();
    }

我尝试混合:我的尝试

我尝试混合,但无法使周围环境变暗 map。

Qn:有没有办法让 TiledMap 变暗?

我要提前感谢大家对您的帮助的建议!

您可以获得渲染 map 的批次,并在绘图前应用色调。 通过减少所有 RGB 值(或变亮等),色调会变暗。

final float darken =0.5f;
tiledMapRenderer.getBatch().setColor(darken,darken,darken,1f);

然后你不需要设置清晰的颜色和混合。 是的, setColor应该被称为setTint

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM