路德的逃生房间
tl; dr
为特定目的提供此代码。如果要尝试一下,则需要添加一些音频/视频文件并更新config.js文件。但是我喜欢此代码使用socket.io ,它确实实现了其预期目的,所以我会分享。
这个想法
我儿子想要一个在他12岁生日的家中逃脱的室,所以我们义务并创建了一个。其中的一部分是我们想要一个计算机终端,该终端可以播放一个介绍视频来设置故事,并拥有一个输入文本字段,在该字段中,进行逃生室的人们可以输入“咒语”的最后一句话,然后将显示“恭喜!”视频和游戏将结束。
当参议员在房间的难题上工作时,我们也想随机一些“快点!”视频和一些怪异的声音要播放。但是我们不希望它完全随机。我们希望能够控制玩什么和何时。
计划
前进的方向似乎是在使用小型ExpressJS服务器显示“终端”并处理输入。该服务器还将允许使用“控制甲板”,我们可以将其加载到手机上(使用按钮启动视频或音频文件),以及Web套接字服务器(使用socket.io),该服务器将把所有内容都绑在一起
执行
该设置是从我们运行逃生室时的设置,减去视频和音频文件,因为它们对于Github来说太大了!
您需要将所需的视频放入public/video目录,所需的音频文件中,然后在public/audio目录中更新public/config.js文件,以便它在其中包含所有正确的文件名,以及在按钮标题中所需的内容。
然后运行yarn以安装依赖项和npm index.js来启动服务器。
服务器运行后,您可以访问http://&l*t;*th*e local ip of your machine>:3000/ – 例如,例如http://192.168.0.24:3000。
您将获得“开始”链接。对于Chrome来说,这似乎很重要,Chrome在通过JavaScript启动音频或视频之前没有链接页面上没有互动,因此只需单击链接即可。完成后,您将获得一个“码头”,其中一个大气的祖父时钟在后台滴答作响。如果您输入一个单词并弄错了,则终端听起来会听起来。这样做三次错误(或键入\’help\’),您将获得一个帮助屏幕,告诉您键入\’start\’。如果您已更新了config.js文件以包括intro视频详细信息,则该视频将开始播放。每当视频播放文本输入时,都会禁用,并且时钟滴答声更加安静。
在手机(或网络上的其他计算机或其他选项卡等)上,请访问http://192.16***8.0.24:3000/control。现在,当您按下按钮时,如果您正确编辑了config.js文件,它将播放您选择的任何视频或音频轨道。按钮在加载和播放时绿色时,按钮将变黄。当我和我的妻子都想单击我们各自的手机上的一个按钮时,这非常方便 – 我们已经可以看到另一个是否开始了。
结论
我只是简单地将正确的咒语单词对index.js 。一旦输入文本输入并点击返回, success视频将开始播放。
