【开源java游戏框架libgdx专题】-13-开发工具-地图的使用

支持libGDX的地图编辑器有很多种,其中比较常用的工具为Tiled地图工具。Tiled是一款非常好用的地图编辑器。下载地址:http://www.mapeditor.org

TiledMap类:

又称瓦片地图类,主要用于解析地图编辑器所保存的地图文件。

常用方法:

dispose():销毁当前地图中的所有纹理

getLayers():获取当前地图中的所有图层,返回值为MapLayers类型变量

getProperties():获取当前地图的所有属性,返回值为MapProperties类型变量

getTileSets():获取地图瓦片集,返回值为TileDMapTileSets类型变量

OrthogonalTiledMapRenderer类:

地图渲染器,主要负责地图的渲染工作

常用方法:

beginRender():开始绘制

dispose():销毁所有资源对象

endRender():结束绘制,该方法在所有图层绘制之后执行

getMap():获取当前TiledMap对象

getSpriteBatch():获取当前地图的精灵画笔

getUnitScale():获取绘制缩放比例

render():绘制地图

render(int[] layers):绘制地图的制定图层

setMap(TiledMap map):设置绘制的地图

setView(Matrix4 projection,float x,float y,float width,float height):设置视距

setView(OrthographicCamera camera):设置绘制相机

renderTileLayer(TiledMapTileLayer layer):绘制指定图层

代码实例:

 1 package com.mygdx.usemap;
 2
 3 import com.badlogic.gdx.ApplicationAdapter;
 4 import com.badlogic.gdx.Gdx;
 5 import com.badlogic.gdx.graphics.GL20;
 6 import com.badlogic.gdx.graphics.OrthographicCamera;
 7 import com.badlogic.gdx.maps.tiled.TiledMap;
 8 import com.badlogic.gdx.maps.tiled.TmxMapLoader;
 9 import com.badlogic.gdx.maps.tiled.renderers.OrthoCachedTiledMapRenderer;
10 /**
11  * 使用地图
12  * @author Jack(乐智)
13  * @blog dtblog.cn
14  * @qq 984137183
15  */
16 public class MainGame extends ApplicationAdapter {
17
18     //声明地图加载器
19     private TiledMap map;
20     //声明地图渲染器
21     private OrthoCachedTiledMapRenderer renderer;
22     //声明相机
23     private OrthographicCamera camera;
24
25     @Override
26     public void create() {
27         //加载地图
28         map=new TmxMapLoader().load("test2.tmx");
29         //实例化地图渲染器
30         renderer=new OrthoCachedTiledMapRenderer(map);
31         //实例化相机
32         camera=new OrthographicCamera();
33         //设置相机视距
34         camera.setToOrtho(false, 576, 552);
35     }
36
37     @Override
38     public void render() {
39         //设置屏幕背景色为黑色
40         Gdx.gl.glClearColor(1, 1, 1, 1);
41         //清屏
42         Gdx.gl.glClear(GL20.GL_COLOR_BUFFER_BIT);
43         //更新相机状态
44         camera.update();
45         //渲染地图比例
46         renderer.setView(camera);
47         //渲染地图
48         renderer.render();
49     }
50
51 }

地图配置文件:

 1 <?xml version="1.0" encoding="UTF-8"?>
 2 <map version="1.0" orientation="orthogonal" renderorder="right-down" width="24" height="24" tilewidth="24" tileheight="23" nextobjectid="1">
 3  <tileset firstgid="1" name="test" tilewidth="24" tileheight="23" tilecount="8" columns="8">
 4   <image source="ground248.png" width="192" height="24"/>
 5  </tileset>
 6  <tileset firstgid="9" name="2" tilewidth="24" tileheight="23" tilecount="8" columns="8">
 7   <image source="ground288.png" width="192" height="24"/>
 8  </tileset>
 9  <layer name="块层 1" width="24" height="24">
10   <data encoding="base64" compression="zlib">
11    eJxjZGBgYBzhmJ0EtcxAzEJDt7ACMdsgCJNRPHCYlmkMlNZhaYyUdE+OPfQIKyYamsuEZD4TkXbB4o5QHDLhwMTGHb5ygljzBmO4D3U8EuoHeuVtemAALkgCuw==
12   </data>
13  </layer>
14 </map>

地图资源文件:

效果:

原文由博主 乐智 编辑撰写,版权归博主所有。

原文地址 http://www.dtblog.cn/1160.html 转载请注明出处!

时间: 2024-11-08 21:22:22

【开源java游戏框架libgdx专题】-13-开发工具-地图的使用的相关文章

【开源java游戏框架libgdx专题】-01-libgdx介绍

libgdx是一款开源的java游戏框架,而且还实现了Desktop/Android/BlackBerry/iOS/HTML5这些些平台的跨平台开发.官方网址:https://libgdx.badlogicgames.com/ 框架项目截图(Eclipse需要安装Gradle): libgdx项目采用工具自动生成项目(可以自己配置扩展): 原文由博主 乐智 编辑撰写,版权归博主所有. 原文地址 http://www.dtblog.cn/1086.html 转载请注明出处!

【开源java游戏框架libgdx专题】-08-中文显示与绘制

libgdx虽然是由美国人Mario Zechner(即BadlogicGames)写的开源引擎,由于Libgdx底层是用OpenGL实现的,所以Libgdx是可以支持中文的,在libgdx中的汉字都是通过贴图的方式显示,使用BitmapFont和SpriteBatch组合来完成文字的绘制,构造BitmapFont时需要一个描述文字构成的fnt文件,和一个提供文字图片的png文件.因此显示中文,归根结底就是读取一个包含中文信息的.fnt文件和相应的.png文件并展示出来的问题. 使用hiero.

【开源java游戏框架libgdx专题】-05-模块描述与上下文

模块描述(Modules overview) Input:为所有的平台提供一个统一的输入模型和处理程序. 获取触摸示例: 1 if (Gdx.input.isTouched()) { 2 System.out.println("Input occurred at x="+Gdx.input.getX() +", y="+Gdx.input.getY()); 3 } Graphics:能够使用硬件提供的OpenGL ES在屏幕上绘制图片 获取OpenGL API 2.

【开源java游戏框架libgdx专题】-03-项目开发与调试

创建libgdx项目 下载项目配置工具 gdx-setup.jar 生成项目 导入Eclipse File -> Import -> Gradle -> Gradle Project 选择生成的项目,然后点击 build model 第一次的时间可能有点长   像这样就可以了  然后点击finish 找到生成的项目,找到main方法的类运行一下 bingo 用于自动打包项目的是一个叫gradlew的文件,windows是gradlew.bat  执行如图命令: 收集了其他类型项目打包的命

【开源java游戏框架libgdx专题】-11-核心库-演员类

演员类,又称为Actor类,是libgdx开发中最基本的元素,可以被继承. 演员类,从OpenGL类的角度来理解,可以称为一个二维场景节点.它本身具有位置(postion).边界矩形(类似Retangle).锚点(origin).缩放比例(scale).旋转(rotation).颜色(color)等属性 常用方法: act(float delta):更新游戏中的演员的状态,常在render中调用,参数一般传入游戏渲染间隔时间. addAction(Action action):添加动作(Acti

【开源java游戏框架libgdx专题】-10-核心库-Viewport

Viewport类,又称为视口类,主要负责管理游戏相机,处理游戏世界坐标与布景层坐标的换算关系.在移动端开发,不像PC端容易.因为要适配不同分辨率的设备.libgdx处理不同的设备屏幕时,用视口处理舞台与相机的关系.主要使用其子类. 7种Viewport类型: StretchViewport:伸展视口,支持设备宽度与高度比改变,根据参数内的宽度和高度来自动适应不同设备的屏幕 FitViewport:会保持自身参数内的宽度与高度比,并以此为依据尽量拉伸类适应屏幕.可能出现黑边. FillViewp

【开源java游戏框架libgdx专题】-04-接口介绍及生命周期

在核心项目中包含6大与操作系统交互的接口,每个后端都实现了这6大接口. Application:运行应用程序并通知API的客户端应用程序级别的事件,提供日志记录设施和查询方法,例如,内存使用. Files:公开平台的底层文件系统 Input:接收用户的输入——鼠标.键盘.触摸或其他输入设备,支持轮询和事件处理驱动. Net:提供了通过HTTP / HTTPS以跨平台的方式获取资源的手段,以及创建TCP服务器和客户端套接字. Audio:提供播放的声音效果和音乐流媒体以及直接访问的PCM音频输入/

【开源java游戏框架libgdx专题】-09-动画的使用

1.Animation类介绍 Api定义:动画是由多个帧,在设定的时间间隔序列显示.比如,一个跑步的人一个动画可以通过运行时播放这些图像无限拍照他了. 功能用法:管理动画,设置随即播放模式和播放顺序. 使用方法: walkAnimation = new Animation(float fDuration, keyFrames) 第一个参数是播放每一帧的时间,后面是一个TestureRegion.下面我给大家介绍下,Animation的原理,下图显示了一个完整的运行一个周期.它被称为精灵表.每个矩

【开源java游戏框架libgdx专题】-07-文件处理

介绍:文件处理在不同平台的文件管理是略有差异的 Desktop(Windows,Linux,Mac OS X等等):在桌面系统中,文件系统是一个大块的内存.文件可以通过当前的工作目录或者绝对路径被引用.可以忽略相关权限,文件和目录通常可以被所有的程序读写. Android: 在Android中情况有一点复杂.文件可以通过资源或者assets的形式存储在应用的APK中.这些文件是只读的.Libgdx仅仅使用assets机制,assets提供了对原始文件的比特流的访问并且最接近传统的文件系统.资源文