撰写了文章 发布于 2017-09-24 21:53:52
rpgmaker实现类似重装机兵乘降系统
介绍下用rpgmaker脚本实现重装机兵乘降系统的一些思路。
人与战车双系统是重装机兵的特色之一。乘降系统只是人与战车双系统的一个组成部分。完全实现人与战车双系统一定会涉及到战车装备,乘车时战斗以及地图通行设置(重装机兵1里,有些地形人可以通过,而战车不可以)。这篇文章只涉及如何实现大地图乘降。
网络上已经有人提到了rm实现乘坐战车的方法:更换角色的行走图,即把人的行走图换成战车的行走图。熟悉rpgmaker的朋友一般都知道,更换行走图难度不大,用事件功能即可实现。但这种方法存在一个问题。
如果打算制作重装机兵同人游戏,这种方法会给人一种“出戏”的感觉。因为这种方法制作的乘车系统的UI界面和历代重装机兵乘降系统UI界面不一样。重装机兵乘降的方式是按下菜单键,菜单键出现乘降的选项,玩家选择乘降。
不只是UI的问题。还有另一个问题不能用事件解决,用事件可以实现乘车,但是不能用事件实现下车(也许有熟悉事件的朋友可以实现)。怎么办?只能写脚本。
这里不得不提到本文的尴尬之处。完全不懂脚本的朋友看了这篇文章即学不会脚本,也不能自己实现乘降系统。熟悉脚本的朋友不用看这篇文章也能实现乘降系统。私以为这也是rpgmaker的尴尬,新手不会用,高手不愿用。
这里提供一个用rpgmaker实现乘降系统的思路。首先,实现乘降系统,脚本和事件都是必不可少的。事件在这里的作用是记录地图上可乘降战车的位置。
记录可乘降战车的位置具体是什么意思呢?这里拿重装机兵1玩家得到第一辆战车的场景来举个例子。
山洞里有一辆战车,玩家控制人物走到战车上,点击菜单,选择乘降。角色行走图变成坦克的行走图。角色走到地图任何一个可通行位置,打开菜单,选择乘降,角色行走图变成人类。同时角色下方出现一辆战车。
玩家点击菜单,系统要判断玩家的位置是否和地图上战车的位置相同。
描述完场景,接下来看一看如何实现。
地图上可以乘降的战车是事件,可以将其称之为乘降事件。乘降事件的行走图设定为准备好的坦克行走图,位置固定,同时事件要设置成可穿透的。假设角色当前没有乘车,玩家打开菜单,选择乘降。这时系统判断角色脚下是否存在战车。具体到脚本中,就是遍历地图中所有的乘降事件。如果角色没有处在乘车状态,同时角色和某个战车事件的位置相同,此时把角色行走图设置成战车行走图,把原来的乘降事件设为不可见即可。
以上能实现角色乘车的功能。不过其中还有几个问题需要解决。
第一,如何遍历地图中所有的乘车事件。rpgmaker的事件都有一个事件名,在脚本中可以取得。因此只要约定所有的乘降事件名称都以英文+数字编号的格式命名,再判断事件名称即可。
第二个,角色乘车之后,把原来位置的乘降事件设为不可见会不会出问题?我觉得会。rpgmaker脚本中,事件以list的形式作为map的成员而存在。因此,玩家一旦进入新地图,下车是,系统必然在新地图找不到原来的乘降事件。因此在切换地图时,要把原地图的乘降事件移除,然后将其加入到新地图中。
乘降系统完!欢迎留言。
琪露诺 1年前
看上去想要做到的需求是“修改(添加、删除)地图事件”……
陈娜佳 [作者] 1年前
琪露诺 1年前
发布
IamI 1年前
陈娜佳 [作者] 1年前
发布