[发明专利]一种基于地形编辑器的快照式历史记录操作方法及装置在审
申请号: | 202010622041.X | 申请日: | 2020-06-30 |
公开(公告)号: | CN112001984A | 公开(公告)日: | 2020-11-27 |
发明(设计)人: | 李天驰;孙悦;杨育彬 | 申请(专利权)人: | 深圳点猫科技有限公司 |
主分类号: | G06T11/20 | 分类号: | G06T11/20;G06T17/05;G06T19/20;G06F8/33;G06F8/34 |
代理公司: | 广东良马律师事务所 44395 | 代理人: | 张柯 |
地址: | 518000 广东省深圳市南山区前海深港合作区南山街道兴海大道3044*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 地形 编辑器 快照 历史记录 操作方法 装置 | ||
本发明公开了一种基于地形编辑器的快照式历史记录操作方法及装置,方法包括:获取到用户对地形编辑器的修改操作,将修改操作后的所有数据进行保存;检测到控制操作,获取上一步地形数据与当前地形数据的差集,所述控制操作包括撤销操作或重做操作;根据差集执行对应的响应操作。本发明实施例通过获取当前地形数据与上一步地形数据中差集,根据差集执行撤销操作或重做操作,无需遍历全部元素,系统消耗小,处理效率高。
技术领域
本发明涉及通信技术领域,尤其涉及一种基于地形编辑器的快照式历史记录操作方法及装置。
背景技术
基于所有编辑器都拥有历史记录撤销和重做功能,基于Unity的地形地图编辑器也不例外,一般历史记录有“命令式”和“快照式”。
“命令式”的历史记录实现的撤销与重做,在历史记录中保存的是操作命令(或者是方法),而且是每次保存两个命令。针对用户的每一次操作,都写一个正向操作方法和逆操作方法,统一提交到一个命令执行器中。命令执行器会保存这样一对方法,并立即正向操作方法。当需要撤销这步操作时,执行对应的逆操作方法,回到当次操作之前的状态;重做时,再执行正向操作方法。
“快照式”快照式实现的撤销与重做,在历史记录中保存的是应用数据的快照。在用户每一步操作之后,都对应用数据中需要保存的部分保存到历史记录里(使用深拷贝,或者不可变数据)。在撤销或者重做时,直接取出相应的快照,恢复到应用中。按照这种思路,只要取出相应的数据快照,可以恢复到任意一次状态。
而在快照式的恢复数据时,通常的做法是每次修改都对场景内所有元素进行快照保存,进行撤销和重做时直接覆盖所有元素,每次都需要遍历全部元素,在数据量大的时候,性能消耗巨大,处理时间长。
现有技术中一种撤销和重做的例子如下:按顺序执行以下操作:
原数据:{1,2,3,4};
操作1:{1,2,3,4,5};
操作2:{1,2,4,5};
撤回:{1,2,3,4,5};
重做:{1,2,4,5};
全数据撤回与重做
撤回直接覆盖上一步操作{1,2,3,4,5};
重做直接覆盖上一步操作{1,2,4,5}。
因此,现有技术还有待于改进和发展。
发明内容
鉴于上述现有技术的不足,本发明的目的在于提供一种基于地形编辑器的快照式历史记录操作方法及装置,旨在解决现有技术Unity的地形地图编辑器中的快照式恢复数据时,每次都需要遍历全部元素,在数据量大的时候,性能消耗巨大,处理时间长的问题。
本发明的技术方案如下:
一种基于地形编辑器的快照式历史记录操作方法,所述方法包括:
获取到用户对地形编辑器的修改操作,将修改操作后的所有数据进行保存;
检测到控制操作,获取上一步地形数据与当前地形数据的差集,所述控制操作包括撤销操作或重做操作;
根据差集执行对应的响应操作。
可选地,所述获取到用户对地形编辑器的修改操作,将修改操作后的所有数据进行保存,包括:
获取用户对地形编辑器中的地形数据的修改操作,将修改操作后的所有地形数据保存在历史队列中。
可选地,所述获取用户对地形编辑器中的地形数据的修改操作,将修改操作后的所有地形数据保存在历史队列中后,包括:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于深圳点猫科技有限公司,未经深圳点猫科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202010622041.X/2.html,转载请声明来源钻瓜专利网。
- 上一篇:尘盒水箱及清洁设备
- 下一篇:一种防拦截的程序运行与交互控制方法及装置