fungus与rpgmaker事件编辑器功能对比
相同的逻辑控制
fungus和rpgmaker事件功能的功能是相同的,都是基于命令的可视化流程控制。用户可以在命令列表中,增加各种功能指令,如显示文字,和逻辑控制流程,配合参数来实现具体功能逻辑。
两者各自的概念对比表格来看:
rpgmaker | fungus | |
---|---|---|
事件 | Event | Block |
行动 | 指令 | Command |
事件/Block:
可看作是指令/行动的容器,游戏运行时通过触发或者调用 事件/Block 执行内部的 指令/行动
指令/行动:
具体在游戏运行时需要执行的任务,如展示对话文字UI,逻辑流程控制,变量控制,等等,fungus和rpgmaker都有丰富的指令/行动功能
以下是编辑器操作界面截图
rpgmaker事件编辑
fungus编辑器
事件/Block 的不同之处:
通过上面的截图,我们可以看到有个明显的不同之处在于
rpgmaker的事件是与地图内的元素相关的,当玩家控制的角色靠近地图元素的时候,触发元素内的事件并执行。
fungus的Block没有这种强关联性,Block通过游戏内定义的事件触发,如fungus实现的GameStart事件,鼠标点击事件等。
事件触发事件
fungus中,Block通过Call,实现事件触发另一个事件的功能。
rpgmaker中,默认并未提供,变通的做法是使用公共事件(游戏在运行时始终会执行的事件),通过改变公共事件的执行条件,触发公共事件。
或者使用其他作者实现的插件
fungus的call功能
rpgmaker需要安装扩展触发器插件
End指令对比
fungus中的end和拖动可能会带来的问题
fungus中,command列表编辑器是通过unity内置的reorderablelist实现的,可以允许通过鼠标拖动交换command的执行顺序,很方便的操作。
流程控制的end作为一个单独的command需要用户自行添加。
由于if和end需要严格顺序匹配,end在if前或者if没有匹配的end,都会造成逻辑错误。虽然fungus会提示,但考虑到配置人员可能是对逻辑不在行的文案策划同学,编辑中的误拖动,少配置end都会导致逻辑不能正确运行。
rpgmaker中,条件指令(if,while)是整体添加和选中的,结束不是一个单独的指令,用户不能自行添加。
因此rpgmaker中的逻辑功能在使用方面的友好度比fungus更好。
扩展能力
2者具有相同的扩展能力,我们可以根据项目内的具体需求,通过扩展指令/行动功能实现。
总结:
fungus和rpgmaker的操作和运行逻辑非常接近,在使用方面有各自的长处。