昨天的日志今天才写,(笑
总的说来,就是打算挖一个新的坑,所以,请大家注意陷阱。游戏的题目剧情什么都还未确定下来,so,随时都有坑掉的可能。游戏类型初步定义是 弹幕型ARPG 。(说的玄乎了,其实和平常的 ARPG 没啥两样)。有点离题了。好吧,剩下的游戏介绍,明天再说吧。
-----------------------------------------------------------------------------------
负责管理 VX 地图的类有三个:
- Game_Map :负责处理地图数据,包含地图上的事件、通行度、角色、交通工具等。它会加载外部文件 Map%03d.rvdata。
- Spriteset_Map:负责处理地图的图块、角色、NPC、交通工具的行走图、远景图、天气、视口等。该类主要的核心与难点在于 @tilemap 变量,这个等下说明。
- Scene_Map:地图场景,个人感觉是大杂烩。处理所有关于地图的数据、消息等。
之前研究了一下 Spriteset_Map 类,于是就写了这个脚本:
原来日站扩展的脚本没有研究过,不知道其原理。不过我这个脚本原理相当的简单,就是不同地图加载不同的图块,替换不同的通行度,没有了。
之后看了下地图图块数据文件(Map%03d.rvdata)里的结果,发现一个很奇怪的地方:
RM 将地图图块数据保存在一个 Table 里, 其大小是 地图高 * 宽 * 3。 一开始以为这个 3 对应的是 3个图层, A 、阴影、 BCDE。但是测试了下发现不是这样的。 0层对应的是部分 A 图块的 ID ,2层对应的 BCDE 的ID,其 ID 号从 B 图块 0 开始算起。但是第 1 层只有在类似山之类的那种自动元件的时候,才会有值。不知道是不是我测试不够完全还是什么,感觉第1层放的是自动元件的结合图块 ID(如果有的话),不知道是不是真的。 感觉对自动元件的研究还是不够啊,残念~~~
好吧,就这样吧,其实以上都是废话。不过想写出 2.5D 效果的地图,对这方面的研究是必然的说。