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

时间:2018-07-20 04:48:05

标签: java libgdx rotation tiled

我用一个简单的平台游戏制作了几个关卡,其中一种机制是在触发某些东西时(动画化)一次将整个关卡旋转90度(动画)(关卡,而不是玩家) ,尽管我找不到任何解释方法的资料,所以我一直认为用Tiled软件制作的地图是不可能的,所以我可能需要寻找其他地方。有什么办法可以做到这一点?如果您能向我解释一下,或者甚至向我指出正确的方向,我将不胜感激。

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

2 个答案:

答案 0 :(得分:1)

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

例如

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 :(得分:1)

您必须做两件事

1。旋转相机

2。根据您的相机旋转来更改重力方向 下面的渲染方法代码:

 //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);