【发布时间】:2020-05-13 08:41:16
【问题描述】:
我想为我兄弟的生日创建一个简单的浏览器游戏,但我被卡住了。这是我在 [https://codepen.io/TehMerow/pen/RGQOEK] 找到的代码。输入正确后,我希望 JS 键入一个可点击的链接以进入下一个级别。我怎么做?如果写下正确的输入,另一种可能性是让 JS 重定向到新页面,但对我来说似乎更复杂。 请告诉我在哪里插入缺失的行,否则我不知道如何实现它。蒂亚!
var area = document.querySelector('.box-text');
var input = document.querySelector('.cmd-text');
var box = document.querySelector('.box');
var title = `Welcome, to Shady Brook Hills`
var start = `
placeholder`;
var help = `
the commands are:
help: the current command.
stand up: stand up from the current position`
var credits = `
story writer: TehMerow;
coding: TehMerow;
`
function typeWrite(text, n, delay, area){
if(n < (text.length)){
area.innerText += text[n];
n++
}
setTimeout(function(){
typeWrite(text, n, delay, area);
}, delay)
}
typeWrite(title, 0, 0, area);
setTimeout(function(){
typeWrite(start, 0, 0, area);
}, 3000)
document.addEventListener('keydown', function(e){
e.preventDefault;
if(e.which === 13 ){
switch(input.value){
case 'help':
typeWrite('\n' + input.value + help, 0, 50, area);
break;
case '':
input.value = '';
break;
case 'credits':
typeWrite(credits, 0, 25, area);
break;
default:
typeWrite('\n' + "I don't know how to " + input.value, 0, 50, area);
break;
}
//ensure that bottom line is
//alays in view
box.scrollTop += 100;
//empty input
input.value = ''
}
}, false)
【问题讨论】:
-
看起来与github.com/thepix/questjs 非常相似。您可能想检查一下,以及相关的编辑器。除此之外,您可以将级别编号作为数据添加到链接中。比如到三级
-
谢谢,@TimB,questjs 对我来说似乎很复杂,因为正如我所说,我对 JS 几乎一无所知。除此之外,我将在 Google 协作平台中创建它,因此我需要能够将整个页面插入为带有“嵌入”选项的 iframe。 到第三级你会怎么走?我不明白在哪里插入它才能正常工作。
-
正如我所说,QuestJS 也有一个可用的编辑器(在另一个链接存储库中)。或者你可以试试 textadventures.co.uk——你甚至可以在那里上传你的游戏。我建议您首先了解 JavaScript 的工作原理,也许还有 jQuery,因为我不知道您的游戏应该如何工作,所以我无法告诉您具体如何操作。
-
再次感谢@TimB,我已经设法做了一些可行的事情,但仍然没有可点击链接的选项。
-
看看 JavaScript querySelector 和 addEventListener。给链接一个 id 或类。为该类或 ID 创建一个 querySelector。然后为单击添加事件侦听器,选择要移动到哪个级别的数据,然后 tada。不过,您需要删除关卡链接或在之后禁用它。
标签: javascript hyperlink clickable