0.前言
两年前用CS1.6金源引擎做了一张闯关解密型的地图,走的是恐怖和阴森的风格,玩家在屋子里寻找线索和钥匙,最后找到方法打开通往地下室的铁门,不过地下室的章节现在还没有想好。
剧情中有一扇门需要玩家输入密码解锁,这就是本篇主要介绍的内容。
gifeditor_20190417_224952.gif
1.参与工作的实体
1)func_button:按钮实体:
image.png2)func_door_rotating:由轴心和门板组成的旋转门,需要设置好旋转轴:
image.png3)multi_manager:多源控制实体,使用它来同时向多个实体发出信号,这里用来实现总电闸启动后开灯和密码锁通电的效果:
image.png4)trigger_changetarget:密码锁逻辑的核心,用来更改其他实体的目标作用实体,做密码锁要用到20多个:
image.png2.核心逻辑ー状态控制机
密码锁的工作原理是状态的跳转,在不同的状态下按下不同的按钮会跳转到相应的状态。
image.png
3.实现过程
在金源引擎SDK,使用trigger_changetarget实体来实现状态的跳转。原理是每按一个按钮,就使用trigger_changetarget把密码板上的数字按钮的目标作用实体修改掉。
具体实体设置如下图,实体间的关系看起来比较复杂,一句话描述就是通过trigger_changetarget不断地修改按钮的作用对象,最后输对密码后将开门按钮的作用目标修改为旋转门。
别的不多说,一张图说明一切。
image.png
4.地图剧情分享
开场动画
密码锁断电效果
gifeditor_20190418_225524.gif
开电闸
gifeditor_20190418_225739.gif
密码锁
gifeditor_20190418_230049.gif
解锁地下室
gifeditor_20190418_233018.gif
大结局
gifeditor_20190418_233257.gif
未完待续,争取早日填坑。
地图文件分享:
链接:https://pan.baidu.com/s/16V-9cIOrefLygL_B1D4ivw
提取码:x5au
网友评论