在游戏中旋转整个平铺地图 - LibGDX

Rotating an entire Tiled map ingame - LibGDX

我制作了一个简单的平台游戏,有几个关卡,其中一个机制是在触发某些东西(只是关卡,而不是播放器),虽然我找不到任何解释如何做的东西,所以我一直认为用 Tiled 软件制作的地图是不可能的,所以我可能需要去别处看看。有什么办法可以做到这一点?如果您能向我解释一下,甚至指出正确的方向,我将不胜感激。

感谢您的宝贵时间 :D(如果我需要进一步说明,请告诉我)

我假设您使用 OrthogonalTiledMapRenderer 渲染您的 TileMap,如果是这样,那么您可以在 OrthographicCamera 上使用 rotate 方法在渲染前旋转。

例如

public class YourGameClass implements Screen {
    private final TiledMap map;
    private final OrthogonalTiledMapRenderer mapRenderer;

    private final OrthographicCamera camera;

    @Override
    public void render (float delta) {
        camera.rotate(1.0f * delta);  // Rotate a little on every update (you'll want to control this a bit more)
        camera.update();
        mapRenderer.setView(camera);

        mapRenderer.render();
    }
}

所以基本上你不旋转地图,你旋转查看地图的相机。

你必须做两件事

1.rotate 相机

2.change重力方向根据你的相机旋转 渲染方法的代码如下:

 //camera rotation
  gamecam.rotate(2f*dt);  

//update gravity direction

    gavityDirection.x-=0.5f*dt;
    gavityDirection.y+=0.5f*dt;

 //set required gravity

    world.setGravity(gavityDirection);