-
2009-05-30
wxsr 45度地图编辑器 总结
版权声明:转载时请以超链接形式标明文章原始出处和作者信息及本声明
http://wxsr.blogbus.com/logs/40197344.html
版本:v2.0
作者:吾系衰人(wxsr)
Email:wxsr2008@126.com视频演示地址
http://v.youku.com/v_show/id_XOTYxNzQ3MjA=.html
密码是 wxsr
特性:
1.共享资源库,
2:地形,元件,地图的层次结构
3:所有文件都可增删保存再编辑;
4:自动深度排序;
5:地图实况测试;
6: 元件旋转
7:场景旋转
8:元件可旋转视角后添加到场景。
9:地图编辑过程中可以增删区域。
10:笔触清楚,网格显示,物品分栏显示;
11:导入背景
12:小地图预览
功能特征
采用分层处理
将地图要素拆分为:地形,元件,地图3大模块
模块间各自独立编辑,保存,重编辑。完成后于地图模块继承
地形:作为地图的区域模块。其特征主要在于预先指定好地图的编辑范围。
适用于预先根据背景资源进行量身绘制编辑地图区域。
元件:作为地图的物品模块。可根据于场景中的特性,细分为:阻碍型,挂件型,地表型。三种形式。
每类元件文件都有自身属性。如,于45度坐标中的(高,宽,长)及交互,是否为墙壁等。
阻碍类型元件:完成编辑后不能于其占用区域内行走或摆放物品。
挂件类型元件:其占有区域下依然可以防止元件,且其深度冗员高于阻碍元件。
地形类型元件:作为地表层的组成元件,其深度在阻碍及挂件元件之下,一般作为背景形式错在。
资源库管理:点击菜单--》设置 面板(或者点击seting按钮),就可以增加删除swf资源库,资源库读取后将会自动将所有带链接名的元件显示在tags 列表下。本编辑器的资源库
是公用的,也就是说,只要你编辑完一个元件,你可以在任一地图上使用这个元件
。但要注意的是资源库更新时,以往编辑的元件图像也会跟着更新,但数据于地图中是不变的,这样做是为了避免
因为后边更新了一个元件的数据,导致之前编辑地图走样,数据错乱等。这部分特征只会体现在地图文件上,因为四度文件是直接将所有数据拷贝一份写入文件中去的,而元件,
则因为可以冲新编辑故不会有这方面的问题,只要在更新完资源库后
重新修改原有的元件文件即可。
再者要注意的是每个资源库的文件名必须唯一。如果是团队开发的,可以将共享的资源库放到网上邻居,然后全部选择哪个资源从而达到资源同步的目的,也可以通过svn等方式同
步资源库。
在绘制地形上,本编辑器采用的是自定义绘制模式,使用者只要根据自己需要绘制地形区域即可.
这样做的好处在于最大限度的缩小数据的大小,以及保存后当作可选文件形式在创建地图时供使用者选择。
元件及场景都具有旋转编辑功能。
编辑元件时请先从tags lists列表中双击或者拖入你要选择的素材。
然后根据自己需要于下边的属性栏中设定其属性。哟啊注意的是,当我们创建一个元件
后,我们需要先设定区域,该区域是45度下物品与地面接触的3维接触区域
。不要图片有多大就绘制多大,那是错误的。然后按空格键为其4个视角下都调整坐标偏移值
按空跟键后系统会自动将原先绘制好的区域旋转一个视角的。然后我们需要为个元件设定他们的3维高度。
最后要注意的一点是,必须要回到第一视角下保存该文件,不然后边应用时会出错。
当我们预先编辑完一批地形跟元件后我们就可以创建属地图模块了。
在创建地图模块的对话框中我们可以看到。地形的选择项,用户如果没有选取原先编辑的地形系统会自动默认创建一个
菱形区域,当然你可以选择以前编辑好的地形或者,修改45度视角下的行,列。不要担心生成后就没办法再编辑。
在地图模式下把工具栏里的lock勾选项去点就可以通过绘制清楚选项来编辑了,但要注意的是编辑后记得要把lock沟回去,从而避免不必要的问题。
当我们创建完地图后,就可以从items列表里选择一个元件拖进场景。(注意双击操作是进行该元件的编辑,会切换到该元件的的编辑状态,在没保存地图文件的情况下,是不可以
还原地图文件的)当我们选定了一个元件后可以在上边的预览框里反转元件的视角。然后再拖进场景,那样得到的就是你所看到的效果了。非常简单轻松就可以创建出你想要的效
果
当然你也可以不旋转元件的视角而直接通过按’a‘键来旋转场景的视角,同样可以达到那样的效果的。
编辑工具栏里提供了多个小功能按钮,勾选其可以方便工作。在已经感觉效率比较慢时,如果用户之前是通过北京绘制地形插入地图数据的话,用户可以把网格栏去掉,而直接导
入背景图,,当用户编辑元件时可以把colorGround的勾选去掉,或者把playground勾选去掉。那样就看不到场景上的阻碍及挂件物品了,背景物品的可是状态可以通过勾选
background按钮来实现
所有模块都可以通过快捷键‘S’或者菜单栏--》文件--》保存 指令来保持文件方便以后重编辑文件。
菜单栏里还提供了测试指令,使用者可以点击该指令选择一副已经编辑好的地图文件,进行移动,观看等效果。
测试指令已经包含本系统专属的a×算法。及深度排序效果,所以观看到的效果将是应用到场景的实际效果。
菜单栏有创建指令,用户也可以通过资源库下边的+号按钮创建当前打开的不同类型文件。 通过减号用户可以删除选中的该文件。用户也可以打开seting按钮,对资源库进行增删
,拷贝数据保存地址,用户可以直接预览所以数据文件。
用户可以在windows下拷贝文件,重命名等,等再次打开编辑器后拷贝的数据,或重命名的,或删除的 数据将 自动更新列表。重而达到数据备份,同步等功能。


随机文章:
浅谈flex 自定义组件 2009-04-24主要作品节选 2008-05-31fms聊天室 2007-09-27数据交互之--WebService应用 2007-09-27mx.xpath.XPathAPI类 2007-09-27
收藏到:Del.icio.us
v


就 








评论
1. 粗看了一下,这个地图编辑器支持多层吗?比如游戏事件触发器最好有一个独立的层一起放在地图编辑器里面。
2. 很想知道这个编辑器最后导出的数据格式。我们的团队没有这么好的工具,所以我们使用tiled,做出tmx格式文件,再写了一个转换程序,生成int<vector>的swf。这样客户端计算速度很快,数据文件最小,但是工序麻烦了点。
3. "4:自动深度排序;"想知道这点的实现算法
4. 感觉渲染地图比生成地图复杂。关键在内存消耗上,特别是遇到大的题图。 http://jhy.91.com/ 的地图渲染就做的比较失败,一个flash客户端跑起来内存用得比wow还多。
希望能和你多多探讨。我的msn是 arkytan@hotmail.com
就是当鼠标在地图编辑器的45度网格上移动时,可以得到鼠标的坐标值, 然后是怎么判断鼠标具体落在哪一个tile上呢?
当鼠标在一个tile的菱形区域内移动时,如何计算出是在这个tile中,而不是在周围的其他tile中呢?
谢谢!!