Skip to content

小功能设计-第一次获得物品

===概述===

示例图

第一次获得物品 的效果如下图。

示例工程

考虑到示例工程中的插件太多了,群友单独拿出来会遇到各种问题。

这里我建立了单独的解谜设计工程,并放入了集合中,方便熟悉用法。

小型示例工程集合链接: https://pan.baidu.com/s/1Z60Fht7alAGZymWOle68PQ提取码: 3r5e

另外,示例中的插件一直在更新,而打包工程中的插件不一定会同步更新哦。

灵感来源

2022年6月1日,作者我在看《只狼》游戏的速通。

发现了这个功能:

第一次获得物品后,会显示上述的提示,而后面再获得物品,不会再提示。

最近我也在整理公共事件的插件,于是准备写“物品积累”插件。

写完物品积累插件后,如果也像只狼设计一样弹出一个提示窗口,有点费美术资源。

作者我懒了,不想画画。

然后作者我就想到了,游戏《塞尔达传说缩小帽》中林克的一个动作:

第一次获得物品,要让地图的小人物播放一个高兴的动作。

手中的道具闪耀发光。感觉不错,于是就开坑了。

===第一次获得物品 - 实现===

基础插件

如果要从零开始设计,需要用到下图的插件:

注意,该文档只说明 整体设计思路。

对于具体 插件指令和配置项 ,需要去示例中 公共事件 看看。

此设计为作者我一时兴起,目的是实现一个小仪式动画。因此会 混合使用 不同类型的插件来实现。设计是重点,插件才是其次,如果你有其它思路,不需要完全按照上述的插件来设计。

基础配置

具体注意示例下面的地方:

1)公共事件

只有这一个公共事件控制获得物品的全过程。

注意,示例中的公共事件在69位置,小工程中在2位置。

2)声音设置

获得物品时,需要播放me声音。

3)物品设置

为了方便起见,这里定义一个物品。

“物品积累时”插件需要根据这个物品id,来判断物品的获得次数。

4)模板管理层

需要一个模板管理层的地图,用于复制事件。

该事件就是一个穿透的事件,没有任何事件指令。

5)插件配置-行走图魔法圈

留意“行走图魔法圈”插件中的配置,对应了物品的光芒。

6)插件配置-物品积累时

留意“物品积累时”插件中的配置,

需要绑定物品id和公共事件id。

注意示例中,这两个id的值不一样。

设计思路

1)防干扰设计

由于此动作在地图界面中实时播放,

因此需要阻塞其它事件的执行,避免此过程中被其他事件干扰。

所以这里可以考虑用 串行的公共事件 执行。

除了地图串行的公共事件,还可以设计为打开进入一个菜单介绍界面。但这样就需要按新思路来设计,使用菜单GIF、菜单魔法圈另一套的插件结构了。

2)动作设计

量子妹获得物品后,需要高举获得的水晶。

这个动作中,水晶应该只是一个图像,并不是真实的物品。(不然就反复获得物品了)

所以可以设计为:用事件复制器复制一个假的穿透的事件,从玩家身上缓缓冒出,然后加上闪闪发光的效果。

公共事件设计

玩家可能在任何地图中获得矩量水晶,因此你不能指定某个id事件来进行操作,你只能复制一个事件,再操作复制的事件。

1)暂停与阻塞

首先,要将该公共事件,设置为串行执行,确保阻塞其它事件的触发。

然后,暂时关闭鼠标和键盘的控制。

2)复制水晶

由于玩家可能在任何地图中获得水晶,因此要获取玩家触发的水晶事件id极其麻烦。这里,我们可以复制一个新的水晶事件,来进行动画操作。

(这样,从宝箱里面拿的水晶,也能被量子妹”拿出来”展示了。)

水晶动画结束后,要留意彻底删除它,避免事件残留在地图中。

3)动作与特效

水晶复制后,播放缓缓上升的漂浮效果,然后背后加一个旋转的魔法圈,表示闪闪发光。

4)收尾细节

动画播放结束后,需要删除相关事件和魔法圈,以及恢复输入设备的控制。

5)游戏中测试效果

测试的效果如下,即使在遇敌管理层,被一群小爱丽丝追逐,

只要事件保持串行阻塞,就不会触发战斗。

动画播放时长与配置的音效相关。之前示例找的是一个很长的音效,要等4秒以上,后来换了短音效,2秒就结束了。

===第一次获得物品 - 注意事项===

事件复制的id

由于水晶事件是新生成的临时事件,因此其id在不同地图会变化。

因此需要先用事件变量来暂存,然后再重新拿出来用。

此方法在很多临时技能中都有用到,需要建立一个事件,然后控制事件执行施法功能。

但这里需要注意,“等待60帧”的延迟问题。

此处是串行执行,所以不担心被改写问题。

而如果是并行执行,那么存储的变量21可能会被其他并行事件改写,这样参数值就会错乱,找不到了。

贡献者

暂无相关贡献者

页面历史

暂无最近变更历史
最近更新