声明:
本系列文章使用的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));
可以把它理解为注册监听,可以接收到所有的触摸和按键事件,他会在每一帧绘制之前,来调用。
游戏截图
项目工程下载
转载请链接原文地址 http://blog.csdn.net/wu928320442/article/details/17259911