Tiled Map Editor:AutoMapping源码分析(一)


tiled的图形化界面是通过qt实现的,在看源码的时候需要搭配QT文档一起看更加清晰
不懂autoMap如何使用的:点这里

一、AutomappingManager


loadFile(const QString &filePath)
  1. 判断传入的filePath是否存在、可读性
  2. 加入QFileSystemWatcher中,它可以替我们监视文件系统是否有对文件或目录进行修改
  3. 读取路径下的文件,通过上面automap的使用视频,我们可以看出rulePath的信息一行行写入的



    4.如果文件路径是相对路径,转为绝对路径
    5.如果文件是以.tmx为后缀,就新建一个autoMapper对象,传入rulePath路径下的地图格式等
    6.如果文件以.txt为后缀,打开该文件,再次查找里面的rules

这代码里有一个地方写法很有趣


rules放弃对它所指对象的控制权,并返回保存的指针,将rules置为空,不会释放内存,返回保存的指针作为形参传递到了autoMapper。这样避免了多个独占指针同时指向一个对象。

二、AutoMapperWrapper


AutoMapperWrapper是AutoMapper的包装类,这个类只有撤销和重做功能,其他重要功能都在AutoMapperWrapper里。
包装类主要用于提供与它包装的东西不同的接口,也可以用于管理包装的东西的资源,如这里的AutoMapperWrapper


©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容