[英]Slow down, console. (javascript/jquery)
我正在开发一个控制台游戏,但我不喜欢console.logs的速度以及两次提示之间的间隔时间。 是否有JavaScript / jquery方法来减慢游戏速度? 为此,我是否可以仅delay()
每行(听起来很乏味),或者如果我要使用setTimeout()
,从理论上讲,我是否必须将游戏拆分为许多不同的函数并设置超时或间隔? 您有什么建议?
例如:
alert('~~ WELCOME TO [x] ~~');
console.log('Before we get started, let\'s find out a little about you.');
var usr = {
name : prompt('What\'s your name?'),
age : prompt('How old are you?'),
clr : prompt('What\'s your favorite color?'),
pref : prompt('Which [x] is your favorite?'),
}
console.log('The air smells pungent today, and the weather is perfect.');
console.log(''); console.log('');
console.log('Did you hear that? I think something may be following us down the path to the [x]...');
console.log('');
var alpha = prompt('');
将有if/elses
, switches
,各种功能和选择。 但是我想要一个基于文本的控制台游戏。
我计划在某个时候添加许多不同的路线,功能以及希望的运动。 但这仅是重点。 如果有人知道减慢游戏进度的一两种方法,请发布任何建议。
大多数用户认为提示令人讨厌且丑陋。 在执行提示期间,用户将无法与其他任何东西进行交互,包括其他选项卡或控制台。 此外,以开发人员的身份进行操作非常不便,因为它们不可配置,并且难以进行开发,支持和调试。
最好实现一个与用户交互的HTML页面。 因此,您将能够对其进行自定义并看起来不错。
例如,您可以创建一个看起来像聊天的页面-文本窗口,并在底部输入。 像这样:
function tell(text) { $("<p/>").text(text).appendTo($('#chat')); } function ask(text, callback) { $("<p/>").text(text).addClass('question').appendTo($('#chat')); $('#send') .prop('disabled', false) .one('click', function() { var text = $("#message").val(); callback(text); $("#message").val(""); $(this).prop('disabled', true); }); } tell("Hi"); ask("What is your name?", function(x) { tell("So strange...my name is " + x + ", as well..."); });
#chat { padding: 20px; position: absolute; top: 0px; bottom: 20px; left: 0px; right: 0px; background-color: #DDDDDD; } #message { position: absolute; bottom: 0px; left: 0px; height: 14px; width: 80%; } #send { position: absolute; bottom: 0px; left: 80%; width: 20%; height: 20px; } .question { font-weight: bold; color: red; }
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> <div id="chat"></div> <input type="text" id="message"/> <input type="submit" id="send" disabled/>
这只是一个例子。 您可以添加诸如延迟或CSS样式之类的任何内容。
创建您自己的console
, alert
和prompt
方法,包装本地人。
例如:
function logConsole(text, delay) {
window.setTimeout(function() {
console.log(text);
}, delay || 0);
};
如果没有传递delay参数,则可以将上面的0
值更改为默认延迟。
logConsole('The air smells pungent today, and the weather is perfect.', 1000);
只是一个主意
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.