查看: 1490|回复: 9

[交流讨论] 趣味小玩法①——溜冰谜题(含参考答案)

[复制链接]
梦石
0
星屑
4061
在线时间
191 小时
注册时间
2022-4-24
回帖
20
发表于 2023-11-5 20:38:42 | 显示全部楼层 |阅读模式

加入我们,或者,欢迎回来。

您需要 登录 才可以下载或查看,没有账号?注册会员

×
本帖最后由 yooz 于 2023-11-8 23:18 编辑

(写在开头:这个系列主要是一些面向萌新的小玩法的教学,内容较为基础,所以对熟练基础事件的rm老手比较简单,大概一眼看出解法。如果有兴趣,也可以对这类谜题的事件进行优化)

题目:制作一个一次性的溜冰房
内容:大家很多人应该都玩过宝可梦,其中有一个冰系道馆,要求玩家从房间的所有冰面上踩过才能通关,一旦玩家重复经过了某一冰面,就会从冰上掉下去,题目中的溜冰房就是指这样的机关(如下图:)
参考图.png

要求:①经过冰面时,冰面发生变化;②重复经过某一冰面时,会触发机关掉落会初始房间或重生点、或判定游戏失败;③踩完所有冰面后,开启终点的机关门,在此之前机关门不会开启
提示:谜题组成部分——冰面事件、门事件
附件:冰面素材——
ice_D.png

┕
┕
┕
┕
┕
┕
┕
[fold=参考答案]
制作这样的玩法,第一步我们当然是要制作冰面,由题可得,该冰面事件存在三种状态:常态、破损、漏洞(失败)。
既然如此,我们就能确定该事件至少有三个事件页,为了让事件页之间切换自如、切换条件又不至于太过繁琐,我们可以通过设置独立开关为事件页的开启条件,保证冰面在三种状态间的切换。


此时,我们已经确定了事件页的数量以及事件页的开启条件,接下来我们需要分析事件页的触发条件。
很显然,因为要玩家踏上冰面时才能够触发事件,所以前两种状态(事件页1和事件页2)的触发条件应该是玩家接触执行,但事件页3的作用是直接判定游戏失败,为了使判定顺利执行,事件页3的触发
条件应该为 并行处理 or 自动执行(因为并行处理时,有玩家再次移动导致人物位移的风险,所以这里采取自动执行)。


那么,最终决定好的事件页基础参数如下:

9NNDM{E4T%M8%`9[(OG}`]6.png
`SH8_P(VZ[(Y2JX5US13VT3.png
CVP]ZT9[GK01()]BBAXTVZK.png




决定好事件页基础参数以后,我们来做事件页的执行内容。
首先先把独立开关的操作一一打上,这个不用多说,在事件页1和事件页2分别打上独立开关A和独立开关B的开启即可。
接下来继续分析题目需求,我们可以知道,题目中要求了终点处的机关门要在踩完所有冰面后才可以开启,所以,我们需要记录已经通过的冰面数量;为了不让触发条件阻碍变量更新,这一步骤要放在事件页1中:

事件页1最终

事件页1最终


因为是一次性的溜冰机关,事件页2只起一个过渡效果,所以不用做得太复杂:
DCHO}P`4QCY(Y3%KNPH$A%L.png

在事件页3中,由于玩家已经触发了失败判定,所以只需要一个场所移动将玩家传送回初始房间或重生点即可。

值得注意的是,当重生点与溜冰谜题处于同一个房间时,最好添加一个“暂时消除事件”之类的功能以停止事件的执行,避免卡死。

最后,为了画面效果,我们在“场所移动”与“暂时消除事件”之外再写一些修饰性的命令就好了:

X)LW4%GMB%TKAOJL]QI2H_S.png



做好冰面事件后,只剩下了比较简单的门事件。机关门十分简单,比较核心的无非判定就是加上事件页的切换,其中再点缀一些动画效果:
@QQ1V`XU)JTEN0UIK_{3BC3.png


U2`A]AQIRMDE_3U[M3D(V0G.png

值得注意的是,判定中,“通关目标”这一变量必须在进入游戏地图前就设置好,否则将导致机关门提前开启(原因是在进入地图的瞬间,0===0)

至此一次性的溜冰房就做完了,只需要复制粘贴事件铺设游戏道路,即可完成谜题玩法的制作。
[/fold]

[fold=进阶方案]
相信大家也注意到,题目中特别用了“一次性”这个词语来形容。
这是因为在之前的事件中,我们是通过独立开关来对事件页进行切换的,这样虽然方便,但是再次进入游戏地图后,机关基本就废掉了,无法重置。
通常情况下,我们可以通过将独立开关替换为开关或变量来解决这个问题,但这样的操作还是过于繁琐,并且存在出问题的风险,故此,我们需要借助脚本的力量,对整个地图的独立事件进行操作。

由于个人认为用上脚本后已经不能被称之为纯事件了,所以将这个方案放在进阶方案内,以下是进阶方案的事件:
YCM~2`ANF[M1]C7Z@]ZU~~N.png

AXQFB1)K3Q9NV`FSP{PEFI7.png

6SA%8H9FG]{Y`C`5VUQ][MY.png

@QQ1V`XU)JTEN0UIK_{3BC3.png
1{J@VBP}80DQK$~WNZQD47W.png


以下是进阶方案中使用到的脚本:

  1. var mapId = $gameMap.mapId(); // 获取当前地图的ID
  2. var eventIds = $gameMap.events().map(function(event) {
  3.     return event.eventId(); // 获取当前地图中所有事件的ID
  4. });

  5. eventIds.forEach(function(eventId) {
  6.     $gameSelfSwitches.setValue([mapId, eventId, 'A'], false); // 关闭独立开关A
  7.     $gameSelfSwitches.setValue([mapId, eventId, 'B'], false); // 关闭独立开关B
  8.     // 以此类推,根据你的需要关闭其他独立开关
  9. });
复制代码

进阶方案-范例工程:

链接:https://pan.baidu.com/s/11Or2JmzHunFf3XfQmk9kig?pwd=w7yh
提取码:w7yh
--来自百度网盘超级会员V4的分享

工程内的范例地图通关路线请查看区块id,例如:
PIN0E3~IZU8D]$_L{O48K}C.png


[/fold]





评分

参与人数 2赞 +2 收起 理由
liz_fly + 1 塞糖
马铃薯条 + 1 感谢分享

查看全部评分

梦石
0
星屑
4061
在线时间
191 小时
注册时间
2022-4-24
回帖
20
 楼主| 发表于 2023-11-5 20:50:11 | 显示全部楼层
溜冰玩法还有许多变种,比如可以拿来制作追逐战陷阱等等,制作游戏时可以多动脑筋,将思路打开,使玩法变得多样化。
回复

使用道具 举报

梦石
0
星屑
4061
在线时间
191 小时
注册时间
2022-4-24
回帖
20
 楼主| 发表于 2023-11-5 20:54:24 | 显示全部楼层
最近想做一些小玩法的模板,如果有想要的小玩法可以告诉我,有兴趣的话我会制作对应的事件模板。

点评

[塔防]算小玩法吗?  发表于 2023-11-8 23:07
一看到溜冰这个标题,下意识以为是【连续前进直到遇到障碍物】的这种溜冰哈哈。  发表于 2023-11-5 22:27
回复

使用道具 举报

梦石
0
星屑
271
在线时间
33 小时
注册时间
2020-4-28
回帖
13
发表于 2023-11-7 19:07:23 | 显示全部楼层
感觉可以试试鱿鱼游戏的那种跳跳格子,一边答题一边跳,打错了就掉下去game over
回复

使用道具 举报

梦石
0
星屑
3538
在线时间
918 小时
注册时间
2018-5-18
回帖
474
发表于 2023-11-7 20:22:04 | 显示全部楼层
斗兽棋能做吗?
这个人很馋,什么都没有留下。。。
回复

使用道具 举报

梦石
0
星屑
4061
在线时间
191 小时
注册时间
2022-4-24
回帖
20
 楼主| 发表于 2023-11-8 17:53:39 | 显示全部楼层


斗兽棋这类的玩法结合插件和脚本更好,毕竟想要好的体验还是需要ai的,不过倒是可以尝试飞行棋
回复

使用道具 举报

梦石
0
星屑
5343
在线时间
683 小时
注册时间
2016-2-11
回帖
120
发表于 2023-11-8 21:17:24 | 显示全部楼层
门事件第一页打开的独立开关跟第二页出现条件不符
回复

使用道具 举报

梦石
0
星屑
4061
在线时间
191 小时
注册时间
2022-4-24
回帖
20
 楼主| 发表于 2023-11-8 23:08:48 | 显示全部楼层
liz_fly 发表于 2023-11-8 21:17
门事件第一页打开的独立开关跟第二页出现条件不符

谢谢提醒,因为之前做了自动赋值的门,后来改回手动赋值删了一个事件页,忘记改回来了
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

Powered by Discuz! X5.0 © 2001-2026 Discuz! Team.

在本版发帖返回顶部