赞 | 9 |
VIP | 0 |
好人卡 | 0 |
积分 | 42 |
经验 | 0 |
最后登录 | 2024-11-25 |
在线时间 | 506 小时 |
Lv3.寻梦者
- 梦石
- 0
- 星屑
- 4194
- 在线时间
- 506 小时
- 注册时间
- 2011-3-26
- 帖子
- 110
|
本帖最后由 rfvtgbzxc 于 2023-1-15 17:16 编辑
1.RM的结构
在代码的组织上,RM可以看成四个大模块:RM插件,RM系统代码,PIXI框架,JS引擎接口。
大体上,RM系统代码部分建立在PIXI框架,完全建立在JS引擎接口上;PIXI框架部分完全建立在JS引擎接口上;RM插件绝大部分建立在RM系统代码上。
JS引擎接口是浏览器内置,不归RM管,是最底层的接口。
PIXI框架提供更方便高效的绘图能力。
RM系统代码通过使用PIXI框架提供的绘图能力绘制画面,通过使用JS引擎接口进行网络访问,文件读写,数据结构的基本操作。并在这个基础上构建各种游戏子系统:商店、地图、战斗等。
RM插件通过修改RM系统已经构建好的游戏子系统来对自己想要的功能实现定制。因此RM插件代码的许多内容需要依赖于RM系统代码内部的结构。
2.MZ和MV的插件的差别
虽然JS引擎接口层面很稳定,没有什么变化,但是RM系统代码发生了很多变化,以实现各自版本的特殊功能。同时PIXI版本也有所更新,一些直接使用PIXI接口的插件也因此可能出现问题。
MZ和MV在各自RM系统代码上仍有很多地方是相似的,因此部分MV插件可以只做少量改动即可移植到MZ系统上。但是例如战斗系统插件,基本无法做简单改动,因为MZ引入了侧视图战斗系统,这部分代码基本和MV完全不一样了。
而对于部分大型插件,它们相当于自己又写了一个自己的RM系统,因此在底层部分可能反而有更好的可移植性,但是往上涉及窗口等,依然会出现大量冲突。
如果有MV和MZ的文档,它们应该看起来在很多类定义上有相似的地方,但是细节上又有出入。
理论上写插件应该按着各自版本的文档作参考的,但是MZ一直没有看见完善的文档。
总的来说,JS本身能做的事情太多了,写RM游戏只是其中一个应用,因此“MZ和MV都是JS写的”并不能推出“MZ和MV的插件可以兼容”。不过如果是一些很底层的,完全依赖于JS引擎接口的代码,比如重写数组功能,倒是确实可以移植,不过这种插件也和RM的游戏内容没多大关系了。
|
|