欢迎光临散文网 会员登陆 & 注册

RPGMakerMV探秘04-游戏加载初窥

2020-08-21 14:32 作者:狂奔小菜鸡  | 我要投稿

    RPGMakerMV游戏实质是H5游戏,意味着在浏览器就可以运行。今天我们就用浏览器运行一个测试demo,看看游戏的一个加载过程。

    项目中index.html实际就是游戏项目的入口。

index.html

    11行的title就是窗体上或浏览器标签页上显示的游戏名字。

    14-27行是加载js,js目录及其下层目录libs中的js文件都被加载了。

    最后一个加载的main.js就会驱动引擎,执行场景的启动。

main.js

    main.js在启动游戏前,有个关键步骤,加载插件,也就是第5行的动作。

    setup方法位于rpg_managers.js中:

setup

    plugins变量在index.html加载js时已经完成初始化,其定义在plugins.js中,该js文件中的内容由RPGMaker生成,勿手动添加。

    setup中,遍历plugins,将使用状态的插件js加载。我们看看2805行loadScript的实现:

loadScript

    不难看出,简单的HTML DOM操作,将插件(js文件)添加到页面中。

    

    接下来我们看下场景管理器(SceneManager)的run方法:

run

    先做了一些初始化工作,而后切换至Scene_Boot场景。Scene_Boot继承自Scene_Base,Scene_Base也是所有场景的基类。

    Scene_Boot是驱动整个游戏的一个场景类,大致的看下它都有哪些功能。

    

create

    构建时,加载数据库、加载配置、加载窗口图片。

    我们在RPGMakerMV软件中操作“数据库”,起内容实际都会以JSON的形式存储在项目中,以下是数据库文件的读取及数据形成。

loadDatabase

    各个JSON文件对应的数据门类,我们在RPGMakerMV探秘01-目录结构已经详细描述。

    这些文件都是通过XMLHttpRequest(XHR)对象请求而得到的数据。

    场景管理器(SceneManager)通过changeScene、updateScene两个方法切换场景,其中很重要的changeScene方法中执行场景的create方法加载场景数据,updateScene方法中执行start方法切换场景。

Scene_Boot.start

    非测试情况下,401-404行代码就是执行分支。403行看出场景切换至标题场景,也就是我们打开游戏后首先看到的场景。

    至此,游戏的加载基本完成,“开始新游戏”、“再续前缘”、“设置”等标题,将切换至相应的场景。

    

RPGMakerMV探秘04-游戏加载初窥的评论 (共 条)

分享到微博请遵守国家法律