gpt4 book ai didi

javascript - 为什么要在游戏循环中使用 while 循环?

转载 作者:行者123 更新时间:2023-11-28 16:58:29 25 4
gpt4 key购买 nike

只是想知道,使用 while 循环作为游戏循环是否有特定的原因。或者我可以使用另一种方法,比如这个。

注意:这不是正确的代码,并且尚未经过测试。这只是一个一般想法。这个示例也与特定的编码语言不一致,但可能主要遵循 JavaScript,因为这是我立即知道的编码语言。我实际上在 dart (google flutter) 中尝试过类似的方法。

var startTime;
var running = false;

function loop1(){
startTime = system.currentMillis();
loop2();
}

loop2(){
gameUpdate();
//ignore my math, I did not focus on doing that property
//this is just an example and is not proper math
var delay = 1000 / (system.currentMillis() - startTime);
setTimeout(loop3, delay);
}

loop3(){
if(running){
loop1();
}
}

编辑:可以使用类似的东西来避免使用sleep();对性能有帮助吗? (或手机电池)

最佳答案

完全可以将您的代码用作主游戏循环。首选 while 的原因是因为主游戏循环会无限执行直到中止,这只需使用 while (true) 即可完成,并使用 break 中止内部某处,或者使用 while (abort == false) 并在内部某处设置 abort = true 。请注意,其他循环变体(例如 fordo-while)更加冗长,除非您的语言允许您执行 for (;;)。另请注意,您可以使用 while 循环将建议的循环重组为更简单的版本。

关于javascript - 为什么要在游戏循环中使用 while 循环?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58369486/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com