Libgdx专题系列:地图篇 斜45°地图

声明:

本系列文章使用的Libgdx版本均为0.99版本

Libgdx游戏开发交流群 323876830

 

前面我们使用的都是矩形的图块, 然而在实际的使用中,经常会用到菱形的图块来进行地图绘制。

 

这里Libgdx也给我们提供了斜视角的地图绘制 IsometricTiledMapRenderer

用法和OrthogonalTiledMapRenderer一样。

 

加载我们的地图文件

TiledMap map = new TmxMapLoader().load("isometric_grass_and_water.tmx");


使用IsometricTiledMapRenderer来进行绘制地图

mMapRenderer = new IsometricTiledMapRenderer(map);


绘制还是一样

mMapRenderer.render();


 

这里我们来说说怎么对斜45°地图进行移动和放缩,因为好多这种视角的游戏都会有这种需求,例如

塔防游戏等等。

 

Libgdx提供了GestureListener这个接口,里面提供了手势的所有操作方法

按下、轻敲、长按、滑动、移动、放缩(两只手操作)等监听

 

这里我们实现这个接口

修改移动方法

    public boolean pan(float x, float y, float deltaX, float deltaY)
    {
        mCamera.position.add(-deltaX, deltaY, 0);
        return false;
    }

更改镜头的坐标

 

修改放缩方法

    public boolean zoom(float initialDistance, float distance)
    {
        mCamera.zoom = initialDistance/distance;
        return false;
    }

更改镜头的放缩

 

注意在使用手势的时候要设置一下

Gdx.input.setInputProcessor(new GestureDetector(this));

可以把它理解为注册监听,可以接收到所有的触摸和按键事件,他会在每一帧绘制之前,来调用。

 

游戏截图

Libgdx专题系列:地图篇 斜45°地图_第1张图片

 

项目工程下载

 

转载请链接原文地址 http://blog.csdn.net/wu928320442/article/details/17259911

你可能感兴趣的:(游戏,android,移动,OpenGL,libgdx,es)