繁体   English   中英

慢下来,控制台。 (javascript / jquery)

[英]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/elsesswitches ,各种功能和选择。 但是我想要一个基于文本的控制台游戏。

我计划在某个时候添加许多不同的路线,功能以及希望的运动。 但这仅是重点。 如果有人知道减慢游戏进度的一两种方法,请发布任何建议。

大多数用户认为提示令人讨厌且丑陋。 在执行提示期间,用户将无法与其他任何东西进行交互,包括其他选项卡或控制台。 此外,以开发人员的身份进行操作非常不便,因为它们不可配置,并且难以进行开发,支持和调试。

最好实现一个与用户交互的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样式之类的任何内容。

创建您自己的consolealertprompt方法,包装本地人。

例如:

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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM