Map Editor 制作分析
来源:互联网 发布:阿里云os能刷安卓系统 编辑:程序博客网 时间:2024/04/29 20:50
根据Map Editor生成的文件大致可以知道地图文件主要分3部分,第一部分是节点,第二部分是边,第三部分是物件
一个典型的文件如下:
3
Index: 0 PosX: 11 PosY: 11
Index: 1 PosX: 11 PosY: 25
Index: 2 PosX: 11 PosY: 74
2
m_iFrom: 0 m_iTo: 1 m_dCost: 14 m_iFlags: 0 ID: -1
m_iFrom: 1 m_iTo: 0 m_dCost: 14 m_iFlags: 0 ID: -1
497 485
0 10 48 88 48 0 1
4 3 11 74 7 50 2
分析这个文件,可得到,3表示3个节点,index是节点索引,后面跟坐标
2表示两条边,从节点0到节点1是双向移动,所以有两条边,m_iFrom是起点,m_iTo是终点,m_dCost是移动代价,m_iFlags和ID暂时未知
497 485 是地图大小
接下来的 0 代表墙体,后面紧跟它的起点和终点坐标,最后的0和1代表法线方向,X方向为0,Y方向为1,就代表朝正下方,这样你很容易就推测出其他朝向,如0.7 0.7,就代表朝右下方
4 代表医疗包
因此制作思路可以如下:建立几个list来保存以上的一些信息,最后的时候通过 std::ofstream 写入一个文本文件。
屏幕显示可使用 windows GDI 绘图,它这个程序即是如此
参考代码如下:
这段代码的意思是实现窗口的WM_PAINT消息响应,绘制自己的内容到对话框
举个例子,windows GDI 画线函数可以用以下方法
void Line(Vector2D from, Vector2D to)
{
MoveToEx(m_hdc, (int)from.x, (int)from.y, NULL);
LineTo(m_hdc, (int)to.x, (int)to.y);
}
MoveToEx 和 LineTo 都是标准的Windows GDI函数,需要注意的是,在使用这些函数之前,需要进行一系列的初始化操作,比如设置画笔颜色等等。。。
这个程序现阶段用GDI绘制足够了,只需要显示点,线,就可以了
最终的目的是完全实现一个洪水填充法的地图编辑器,生成地图文件的格式可以完全和它一样,回头再调整
- Map Editor 制作分析
- Tiled Map Editor(一)
- Tiled Map Editor(二)
- Tiled Map Editor(三)
- Tiled Map Editor(一)
- Tiled Map Editor(一)
- Tiled Map Editor(二)
- Tiled Map Editor(三)
- Tiled Map Editor
- Tiled Map Editor(一)
- Tiled Map Editor(二)
- Tiled Map Editor(三)
- Tiled Map Editor libgdx 讲解
- Tiled Map Editor创建地图
- far cry 2 xbox 360 map editor
- Cocos2d-x Tiled Map Editor(一)
- Cocos2d-x Tiled Map Editor(一)
- Cocos2d-x Tiled Map Editor(二)
- 如何定位WinCE产生Data Abort错误的位置
- ActionScript3 内存管理 ---Garbage Collector
- 发表刊物刊号时间媒体评介2
- UBOOT命令总结(转)
- 关于"未能映射路径"问题
- Map Editor 制作分析
- Inherits
- 发表刊物刊号时间媒体评介3
- 发表刊物刊号时间媒体评介4
- 发表刊物刊号时间媒体评介5
- 发表刊物刊号时间媒体评介6
- 发表刊物刊号时间媒体评介7
- 发表刊物刊号时间媒体评介8
- 抵制百度,力挺Google