转载
这个编辑器是本人为公司项目专门开发
的一个功能比较齐全的45度视角下的地图
编辑器,碍于公司产品即将发布,及本编辑器
一申请专利的缘故。虽然在本帖最后会提供一个体验版本,但是需要邀请码才能使用,望见谅,邀请码之发放少量,发完即止
望见谅。前部分将介绍本编辑器的一些功能特性,后边将总结下45度视角编辑器的一些心得。希望对大家有所用途。
版本:v2.0
作者:吾系衰人(wxsr)
Email:wxsr2008@126.com
特性:
1.共享资源库,
2:地形,元件,地图的层次结构
3:所有文件
都可增删保存再编辑;
4:自动深度排序;
5:地图实况测试;
6: 元件旋转
7:场景旋转
8:元件可旋转视角后添加到场景。
9:地图编辑过程中可以增删区域。
10:笔触清楚,网格显示,物品分栏显示;
11:导入背景
12:小地图预览
功能特征
采用分层处理
将地图要素拆分为:地形,元件,地图3大模块
模块间各自独立编辑,保存,重编辑。完成后于地图模块继承
地形:作为地图的区域模块。其特征主要在于预先指定好地图的编辑范围。
适用于预先根据背景资源进行量身绘制编辑地图区域。
元件:作为地图的物品模块。可根据于场景中的特性,细分为:阻碍型,挂件型,地表型。三种形式。
每类元件文件都有自身属性。如,于45度坐标中的(高,宽,长)及交互
,是否为墙壁等。
阻碍类型元件:完成编辑后不能于其占用区域内行走或摆放物品。
挂件类型元件:其占有区域下依然可以防止元件,且其深度冗员高于阻碍元件。
地形类型元件:作为地表层的组成元件,其深度在阻碍及挂件元件之下,一般作为背景形式错在。
资源库管理:点击菜单--》设置 面板(或者点击seting按钮
),就可以增加删除swf
资源库,资源库读取后将会自动将所有带
链接名的元件显示在tags 列表下。本编辑器的资源库
是公用的,也就是说,只要你编辑完一个元件,你可以在任一地图上使用这个元件
。但要注意的是资源库更新时,以往编辑的元件图像也会跟着更新,但数据
于地图中是不变的,这样做是为了避免
因为后边更新了一个元件的数据,导致之前编辑地图走样,数据错乱等。这部分特征只会体现在地图文件上,因为四度文件是
直接将所有数据拷贝一份写入文件中去的,而元件,
则因为可以冲新编辑故不会有这方面的问题,只要在更新完资源库后
重新修改原有的元件文件即可。
再者要注意的是每个资源库的文件名必须唯一。如果是团队开发的,可以将共享的资源库放到网上邻居,然后全部选择哪个资
源从而达到资源同步的目的,也可以通过svn等方式同
步资源库。
在绘制地形上,本编辑器采用的是自定义绘制模式,使用者只要根据自己需要绘制地形区域即可.
这样做的好处在于最大限度的缩小数据的大小,以及保存后当作可选文件形式在创建地图时供使用者选择。
元件及场景都具有旋转编辑功能。
编辑元件时请先从tags list
s列表中双击或者拖入你要选择的素材。
然后根据自己需要于下边的属性栏中设定其属性。哟啊注意的是,当我们创建一个元件
后,我们需要先设定区域,该区域是45度下物品与地面接触的3维接触区域
。不要图片
有多大就绘制多大,那是错误的。然后按空格键为其4个视角下都调整坐标偏移值
按空跟键后系统会自动将原先绘制好的区域旋转一个视角的。然后我们需要为个元件设定他们的3维高度。
最后要注意的一点是,必须要回到第一视角下保存该文件,不然后边应用
时会出错。
当我们预先编辑完一批地形跟元件后我们就可以创建属地图模块了。
在创建地图模块的对话框中我们可以看到。地形的选择项,用户如果没有选取原先编辑的地形系统会自动默认创建一个
菱形区域,当然你可以选择以前编辑好的地形或者,修改45度视角下的行,列。不要担心生成后就没办法再编辑。
在地图模式下把工具栏里的lock勾选项去点就可以通过绘制清楚选项来编辑了,但要注意的是编辑后记得要把lock沟回去,从
而避免不必要的问题。
当我们创建完地图后,就可以从items列表里选择一个元件拖进场景。(注意双击操作是进行该元件的编辑,会切换到该元件
的的编辑状态,在没保存地图文件的情况下,是不可以
还原地图文件的)当我们选定了一个元件后可以在上边的预览框里反转元件的视角。然后再拖进场景,那样得到的就是你所看
到的效果
了。非常简单轻松就可以创建出你想要的效
果
当然你也可以不旋转元件的视角而直接通过按’a‘键来旋转场景的视角,同样可以达到那样的效果的。
编辑工具栏里提供了多个小功能按钮,勾选其可以方便工作。在已经感觉效率比较慢时,如果用户之前是通过北京
绘制地形插
入地图数据的话,用户可以把网格栏去掉,而直接导
入背景图,,当用户编辑元件时可以把colorGround的勾选去掉,或者把playground勾选去掉。那样就看不到场景上的阻碍及
挂件物品了,背景物品的可是状态可以通过勾选
background按钮来实现
所有模块都可以通过快捷键‘S’或者菜单栏--》文件--》保存 指令来保持文件方便以后重编辑文件。
菜单栏里还提供了测试指令,使用者可以点击该指令选择一副已经编辑好的地图文件,进行移动,观看等效果。
测试指令已经包含本系统专属的a×算法
。及深度排序效果,所以观看到的效果将是应用到场景的实际效果。
菜单栏有创建指令,用户也可以通过资源库下边的+号按钮创建当前打开的不同类型文件。 通过减号用户可以删除选中的该文
件。用户也可以打开seting按钮,对资源库进行增删
,拷贝数据保存地址,用户可以直接预览所以数据文件。
用户可以在windows下拷贝文件,重命名等,等再次打开编辑器后拷贝的数据,或重命名的,或删除的 数据将 自动更新列表
。重而达到数据备份,同步等功能
好下边偶说说45度编辑器的一些心得,
1.为什么要开发一个编辑器?
很多开发者都没有先考虑为什么我要开发一个地图编辑器,往往都是因为大家都有,所以
就去开发。很多游戏都有自己的专属编辑器,就像魔兽的那个让人仰望的编辑器,里边包含了
诸如地图编辑器,事件编辑器,战役编辑器,AI编辑器,环境编辑器等等诸多编辑器,可以说,一个好的编辑器是一个成功的
游戏必不可少的组成。我们开发一个编辑器是为了方便我们往后的开发工作,而不是只为了
别人都有而开发。
当你明确了你的游戏需求后,然后需要针对性的构架你的编辑工具。
编辑器的功能要根据我们要开发的游戏的需求来决定其功能。还有的就是我们要注意在编写这样的一个工具时要把算法及相关
逻辑整理分层好。因为编辑器毕竟是编辑器,我们到了实际游戏场景中还是得再次把原先的逻辑重新实现的,所以编辑器的结
构及代码的分离效果很大层度上影响到你往后的开发。
2.一些主要用到的算法。
先说说45度视角下比较难写好的深度消隐算法。相信很多开发者都疼为此头疼,不知道如何入手,
。网上有很多类似的深度算法,但很多效果都不如人意,特别是用y轴判断的那种,事实上这种算法
不准确是因为他忽略了一些物品不等长的情况,当然如果你的游戏里的场景物品都是等大的战棋类游戏,这种算法足以你使用
了,但事实上一般的45度游戏或者社区都是很多不等大物品组成的。一些案例,想this6,他们所采取的方法是预先在fla里手
动排序好物品的深度,然后再场景中通过交换深度的方法来实现井深的效果,这种方法不不好之处在于,一些动态场景因为没
有预先编辑好一个准确的深度,那样交换深度的小过将是很差的,从this6前期的自定义用户场景我们也可以看出这方面的效
果,这也是他们现在采用缩小场景避免排序不准确带来的不好体验的一个必然选择。还有就像摩尔,摩尔前期也是典型的只根
据y轴排序的一个案例,效果相当不好,但后期做了优化。
要井深准确,无法就两个方向走。要们将所有物品统一大小,然后用y轴排序,要么就是写出一套使用性广泛的深度算法。
这里我推荐的方法也是现在很多大型2.5d游戏使用的方法。2分法。2分在在于其能准确的将一个空间的物品的井深层次很好的划分出来,
我们只要通过一个物品为参照物先划分出前后两个空间然后递归刚才的方法即可,
下边是本人之前写的消隐算法就是以2分法为基础写的一套45度视角下的消隐算法,
http://wxsr.blogbus.com/logs/32001884.html
我们在说说A星算法,其实作为游戏a星算法是不一定要用到的,我们要根据游戏的实际需求来开发我们的游戏才是明智之举
很多情况下我们可以选择性的将寻路部分放到小地图上而不是大地图上,那样有利于我们整个游戏的效率及执行
,我们可以采用两点间直线移动,移动到不可走地方就停止移动的方法来取代a星。这样做效果也是不错的。而且效率也高。
可以把节省下来的消耗应用到别的地方去。
再说回a星,as3效率的提高,现在写a星算法只要不是很冗余效率基本上都到60-90毫秒左右就可以完成了
a星算法无非就是计算最优值寻找出一条能通道目的地的树状结构,然后通过倒退法,得到一条最优的路径。
优化的方法很多想我之前说的2分法就是一种,我们也可以用4叉树,2查树等方法优化效率,无论是4叉树还是2叉树,目的都
是在缩小路径的范围,当然前提我们都需要预先建树,注意的是,我们在场景深度算法放也可以用到4叉树,2查树
这是我的改良版a星算法
http://wxsr.blogbus.com/logs/32550422.html
这个算法没有哟娜跟传统的2维数组作为存储容器,而用哈希表,这样做的好处在于查询跟修改的速度要比2维数组的快而且方
便。
最后说说资源管理跟事件管理。
只所以要这个主要是因为flash的内存管理问题,太分散的管理方式无疑对我们管理内存几会有相当大的麻烦
统一的内存管理有利于解决因为资源加载带来的诸多麻烦,还有就是事件的统一注册管理
有人可能认为这样做很麻烦没必要,但我想说的是,在flash中往往因为我们很容易忽略的问题导致了我们的内存不能回收,
当中最为显著的就是对象的时间引用上。很多人抱怨as的弱引用,事实上只要你看过帮助文档就不
不能看出其实弱引用是没问题的,因为你的对象没有注销,所以事件必然还在引用状态。加载的资源应为都是一次性的所以基
本都是很容易删除的。但一些类的实例因为引用的多指向导致了内存不能回收,这正是我说统一管理事件注册
的用意,因为那样我们才可以更好的完全删除之前所注册的所有事件的。一般我们御载一个场景我建议都注销下原先
的所有幀听,那样才能保证事件不在被引用,从而保证内存可以顺利回收。
再补充一点就是,资源及源码的加密。
现在一般的做法都是混淆编辑好的swf的2进制源码
然后再场景中再还原。
这里提供下我的处理方法
http://wxsr.blogbus.com/logs/32850824.html
好了,最后提供下本编辑器的体验版下载地址,但下载后需要邀请密码才能安装,
最新体验版,最多支持10个元件的编辑,提供了两个体验的素材文件,安装完毕后再素材库面板添加即可
http://wxsr.blogbus.com/files/12376154100.rar
发表评论
-
AS3 父SWF与子SWF之间传值
2011-02-20 15:19 2624FLASH中 父SWF加载子SWF并向子SWF传值在很多应用上 ... -
flash as3.0 被加载的swf 控制主swf文件触发事件
2011-02-19 14:48 3039比如有两个swf文件 1.swf,2.swf 1.swf ... -
一些很有创意的导航栏设计,给大家分享下。
2011-02-19 11:08 1584希望对各位同学有所帮助。啊哦………… 陆续完善i ... -
浅谈webgame游戏开发技术要点
2011-02-19 11:02 1012写这些只是想和大家交 ... -
aswing
2011-02-19 10:43 870AsWing是一套UI组件框架,纯ActionScript开发 ... -
as3加载外部XML文件
2011-02-18 19:50 1448加载过程如下: 1.使用URLRequ ... -
如何保护swf文件不被反编译软件破解?
2011-02-18 19:42 2187How to protect SWFs from decomp ... -
BulkLoader开源文件加载类
2011-02-09 22:10 1218BulkLoader是一个不错且使用简单的开源加载类, ... -
社区客户端开发技术总结
2011-01-29 22:57 863不管是什么样的项目,都会拆分成一个一个小的模块。最终实现都是些 ... -
“神之惩戒”--国内MMORPG游戏的困局1
2011-01-28 15:13 806《神之惩戒——MMOR ... -
adobe alchemy资料整理
2011-01-28 14:56 2441Adobe 自从2007年中推出了AS3支持 ... -
hitTest(BitmapData.hitTest 方法)
2011-01-25 18:14 1195public hitTest(firstPoint:Poi ... -
AS3使用外部SWF文件的库文件
2011-01-25 15:32 1473在swf文件中使用外部swf文件的库文件,从而达到类似素材 ... -
Flash摄像头游戏课件设计与开发
2011-01-25 11:07 1204[导读] Flash摄像头游戏课件设计与开发 ... -
AS3图像复制BitmapData.copyPixels()
2011-01-22 16:35 1947//舞台属性设置 stage.align ... -
ps样式介绍
2011-01-22 14:32 859PS样式就是效果的集合。“窗口”“样式”就可以打开样式面板。里 ... -
获取当前SWF的绝对路径
2011-01-20 19:22 1380首先 ,说明我测试的系统地址和网络地址的情况: 某电脑 ... -
PureMVC中观察者模式运用
2011-01-20 09:36 1295刚一个开始看PureMVC,一个字乱,摸不着头脑,不过这个要慢 ... -
获取当前SWF的当前路径
2011-01-19 20:00 1446首先 ,说明我测试的系统地址和网络地址的情况: 某电脑 ... -
Event.INIT Event.COMPLETE 区别
2011-01-19 11:50 1290package{ import flash ...
相关推荐
在压缩包内的文件中,`hgemapeditor.txt`可能包含了关于HGE地图编辑器的详细使用教程、API参考或者开发心得。`TileBlend Map`可能是一个示例地图文件,展示了如何使用编辑器创建和组织地图。而`TileBlend Editor`...
在游戏开发中,地图编辑器是至关重要的,它允许设计师高效地构建游戏世界的环境,设置关卡布局,并进行初步的游戏逻辑设计。这篇心得分享可能涉及了如何使用这个特定编辑器的高级功能以及自定义地图解析类的实现。 ...
教学过程中,分享一些心得可以帮助新手更好地掌握MFC和地图编辑器开发: 1. 理解MFC的文档/视图架构,它是MFC的核心设计模式,有助于组织代码结构。 2. 学习使用资源编辑器创建菜单、对话框和图标,这可以使界面...
"WIL地图编辑器V12.20"是一款专为传奇系列游戏设计的免费地图编辑工具,主要用于查看和编辑“传奇世界”和“热血传奇”的游戏地图。这款编辑器支持处理三种不同的地图格式:Wil、Wzl和Wis。下面将详细介绍这三种格式...
在本项目中,“Android课业设计推箱子小游戏完整版项目”是一个基于Android Studio开发的移动端游戏,它将经典的“推箱子”玩法与个人创新的神奇宝贝主题相结合,为玩家提供了独特的游戏体验。以下是对这个项目的...
本文主要探讨了个人在使用ArcGIS API进行开发时的一些接口使用心得,涵盖了数据结构、几何对象、数据访问和地图操作等多个方面。以下是对各接口的详细说明: 1. **IField接口(esriGeoDatabase)**:该接口用于定义...
在《魔兽争霸III》的地图编辑器中,制作者可以通过内置工具来创建自定义地图,包括设置地形、添加单位、调整游戏规则等。"Practice Your Pudge P_v1.02.w3x"的创建者显然利用了这些功能,设计了一个专门针对屠夫肉钩...
这款游戏以其丰富的剧情、多样的单位、深度的战略性以及强大的地图编辑器闻名于世。MyWarCraft很可能是基于这些元素,为玩家提供了更多个性化的体验。 首先,MyWarCraft可能包含了一系列自定义地图,这些地图是由...
1. 地图编辑器:如Q3Radiant,用于设计游戏地图,包括布局、光照、触发器等元素,让开发者了解游戏空间的设计和逻辑。 2. 模型编辑器:如 MilkShape 3D 或 GMax,用于创建和修改3D模型,包括骨骼动画和贴图应用,有...
3. 游戏地图编辑:除了物品属性,MuEditor EX603还支持地图编辑,玩家可以创建新的地图,或者修改已有地图的怪物分布、物品掉落等,让游戏世界更加丰富多彩。 4. 数据库管理:编辑器内置数据库管理系统,可以方便地...
LevelImposter-Web 是一个基于 TypeScript 开发的在线平台,专为...通过深入研究 LevelImposter-Web 的源代码,开发者不仅能学习到如何创建一个自定义地图编辑器,还能掌握 TypeScript 和现代前端开发的诸多最佳实践。
GPS(全球定位系统)则提供了精确的地理位置信息,通过接收至少四颗卫星的信号,可以计算出接收器的三维位置和时间。GPS定位基于三角测量原理,通过计算信号传输时间和电磁波速度来确定距离。 GIS软件平台提供了对...
1. **编辑器**:提供了丰富的编辑选项,例如更改精灵、道具、地图、剧情事件等,让玩家能够按照自己的想法调整游戏内容。比如,你可以定制自己的神奇宝贝队伍,或者修改游戏中的某些事件,甚至改变关卡布局。 2. **...
《TileWorldCreator 2.0.3:游戏开发中的地图构建神器》 在游戏开发领域,地图设计是一项至关重要的工作,它直接决定了游戏世界的视觉效果和玩家的沉浸体验。而"TileWorldCreator 2.0.3"就是这样一款专为Unity引擎...
6. **API和插件**:开放的API允许第三方开发者创建工具和插件,进一步扩展内容共享的可能性,比如地图编辑器、皮肤设计等。 7. **经济系统**:游戏内的货币和交易系统是内容共享的重要组成部分,玩家可以通过买卖来...
1. **地图编辑器**:用户可以通过简单的拖放操作创建地形、建筑和环境,支持多层地图,使场景构建更为立体。 2. **事件系统**:事件系统是RPG Maker Ace的一大亮点,通过可视化脚本编辑,用户可以设置角色互动、...
CF转换器可能涉及游戏内的数据转换,比如地图、模型、皮肤、配置文件等,这些转换可能有助于玩家自定义游戏体验,提高游戏性能,或者解决不同版本之间的兼容问题。 【压缩包子文件的文件名称列表】中的各个文件可能...
- **编辑许可文件**:使用文本编辑器打开 `3702011.efl9` 文件,并将第一行中的主机名更改为当前计算机的名称,例如:“SERVERARJ-PCESRI_SENTINEL_KEY=3710201127001”。 ##### 2. 安装许可服务器 - 运行 `...
3. **脚本与工具**:在miscCelesteTAS项目中,开发者和玩家会分享各种工具和脚本来辅助游戏的各个方面,比如地图编辑器、动画编辑器、速度运行辅助工具等。这些工具能帮助玩家更高效地创造、调试或分析游戏内容。 4...
Joomla编辑器的更换 Joomla扩展管理 Joomla版本升级 Joomla的全局设置 Joomla SEO管理 Joomla模板样式定制 Joomla语言文件管理 T3-Framework架构模板 Helix-Framework架构模板 SP-Bulider页面构建器 创建Joomla电商...