首页 > 编程知识 正文

浅谈场景编辑器开发工作,场景编辑检测

时间:2023-05-06 07:24:43 阅读:250333 作者:1207

         最近负责一款2D客户端场景编辑器的开发工作,获益良多。现在就操作层面跟大家分享一下开发中的几个着重点。

        1 事件响应模块:

         编辑器的操作极其复杂,如果没有一个清晰的事件分发流程,操作逻辑处理起来苦不堪言。

         主要的思路是设定编辑模式,然后在每个编辑模式下再有多个子模式。例如建筑编辑模式,放置建筑子模式等。

         每个子模式下都有独立的鼠标和键盘响应处理,如左右键 按下弹起的响应等。

         这样在进行逻辑处理时,先判断当前编辑器所处的模式和子模式,即可进入对应的响应操作。

         2 场景对象层次:

         编辑器的操作几乎都是基于对象的,设定一个层次清晰的对象结构,在进行对象操作时则顺风顺水。如:基本对象,建筑对象,建筑组对象等。

         3 撤销重做模块:

         如果没有做过类似的编辑器,应该不会知道这模块的重要性。

         在实际的场景编辑中,常常编辑错了,就想恢复到编辑前的状态,这就用到了撤销重做的功能。

         主要的实现思路是,当某个操作需要撤销重做功能时,注册一个对应的操作类,保存相关的参数,有对应的执行函数和撤销函数。

         然后再把这操作保存到一个全局的操作列表,每执行一次撤销操作则把最后一个操作从操作列表中移除。

         因为记录了相关的数据,所以在执行撤销操作时,可以完全回到编辑前的状态。

          4 区域管理模块

         障碍区,遮挡区,安全区,各种自定义区域等等,都是属于区域操作范畴。这种操作用得最多的就是画刷,所以画刷的设计好坏影响重大。

          5 编辑态文件

         即除了包括游戏数据外还保存很多游戏不用的数据,但在编辑器使用过程中却带来很多便利。

         比较有利的一点是很多情况下导出的场景配置文件是二进制文件,所以看不到每个版本的修改内容,这时可通过对应的编辑态文件来对比。

转载于:https://www.cnblogs.com/skydesign/archive/2012/03/31/2427792.html

Java中cas实现原理是什么

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。