RPG Maker MZ 源码解析笔记
由于P1不支持MD, 我新弄了个简书号, 把文章发到上面去了..
第一章 探究游戏生命周期
文章地址:
https://www.jianshu.com/p/c48234408c3d
主要关注点有2个
其一:
MZ的生命周期已经托管给PIXI.Application的Ticker了
MZ向大多数的插件作者隐藏了生命周期的实现细节
导致这部分的代码简洁了一点点
分离技术细节和业务细节永远都是好事
其二:
新引入了一个入口类Main,
主要是用来处理脚本引用和初始化新的粒子系统
和MV中直接将脚本写到index.html有了区别
可能是为了以后拓展核心代码做准备?
另一个小细节是新的Main类使用了class关键字
这也是现在1.0.0版本里唯一一处使用了class关键字的地方
现在nwjs的node版本已经是13, 已经是非常新的了
不知道未来以后核心代码会不会统一更新到es6+?
第二章 用户输入检测
文章地址:
https://www.jianshu.com/p/4ad50c43de6a
总体来说Input和TouchInput这两个的变化也不大
值得注意的是加入了虚拟按键的支持
细节很多, 但是看源码最好先抓住大脉络
应该注意到Input和TouchInput的数据流是如何传递的
从数据来源类型上可以分成依靠dom事件更新和依靠游戏loop更新的两种
也可以按状态类型分成瞬时状态和连续状态的两种
找出这些类型在代码中的分布就可以了解这部分代码运作的原理
不过不得不说这块代码写得的过于复杂, 有大段大段的重复代码, 重复利用率极低
我觉得还是有很多优化和改进的空间的
第三章 图像的加载和处理
文章地址
https://www.jianshu.com/p/be4a10f50592
作为一切可视内容的基础, Bitmap是一个小而复杂的类
主要是因为它被赋予了很多周边性的功能, 显得入口很杂
而如果只看输出部分, 理解到它最主要的目的是作为BaseTexture的封装以后,
整个代码就会变得更清晰了
看源码有时候最大的难点就是分清主次而不是逻辑有多复杂
很多情况是所有代码你都读得懂, 却捋不清顺序
就是因为被很多细节给就缠住了
本帖来自P1论坛作者沉滞的剑,因Project1站服务器在国外有时候访问缓慢不方便作者交流学习,经联系P1站长fux2同意署名转载一起分享游戏制作经验,共同为国内独立游戏作者共同创造良好交流环境,原文地址:https://rpg. blue/forum.php?mod=viewthread&tid=482989 若有侵权,发帖作者可联系底部站长QQ在线咨询功能删除,谢谢。