如何在游戏中添加计时器?
How do I add a timer to my game?
我正在制作一款平台游戏,当玩家收集到所有金币后,他们将进入下一关,我该如何在屏幕上添加计时器,当它到达0时,关卡将重新开始?这是我现在的代码部分,处理玩家是否在接触熔岩时重新开始关卡。
Level.prototype.playerTouched = function(type, actor) {
if (type == "lava" && this.status == null) {
this.status = "lost";
this.finishDelay = 1;
} else if (type == "coin") {
this.actors = this.actors.filter(function(other) {
return other != actor;
});
if (!this.actors.some(function(actor) {
return actor.type == "coin";
})) {
this.status = "won";
this.finishDelay = 1;
}
}
};
function runGame(plans, Display) {
function startLevel(n) {
runLevel(new Level(plans[n]), Display, function(status) {
if (status == "lost")
startLevel(n);
else if (n < plans.length - 1)
startLevel(n + 1);
else
console.log("You win!");
});
}
startLevel(0);
}
一种选择是使用setInterval
。
下面是来自http://www.w3schools.com/js/js_timing.asp
的示例代码<!DOCTYPE html>
<html>
<body>
<p>A script on this page starts this clock:</p>
<p id="demo"></p>
<script>
var myVar = setInterval(myTimer, 1000);
function myTimer() {
var d = new Date();
document.getElementById("demo").innerHTML = d.toLocaleTimeString();
}
</script>
</body>
</html>
使用这个示例,您可以创建一个剩余时间的变量,并减少每次调用计时器。
像这样:
var myVar = setInterval(myTimer, 1000);
var timeLeft = 10;
function myTimer() {
if (timeLeft > 0){
timeLeft = timeLeft - 1;
document.getElementById("demo").innerHTML = timeLeft;
}else{
document.getElementById("demo").innerHTML = "Game over";
}
}
相关文章:
- 添加测验计时器,如果计时器达到0,则淡出/跳到下一个
- 为显示/隐藏消息 Jquery 添加计时器 intervar
- 向 html5 画布游戏添加计时器
- 如何向JavaScript计时器添加控件
- 如何编写一个函数的脚本,为HTML中显示的JavaScript计数计时器添加秒数
- 如何添加延迟计时器
- 如何向此 JavaScript 反向倒计时计时器计数器添加毫秒
- 用于添加计时器的谷歌脚本
- JS - 在 mysql 中添加计时器作为毫秒的日期时间
- 如何添加提交表单的 5 分钟脚本倒数计时器
- (Javascript)如何将倒数计时器添加到选择选项
- 将分钟或秒添加到 Javascript 倒数计时器
- 在html中向计时器添加毫秒
- 为计时器添加启动、停止和重置按钮
- 如何在HTML5和Javascript中添加计时器
- 试图在我的网站上添加一个计时器来倒计时
- 听众被重复添加,但可以'我不知道怎么做.I'm使用one(),然后使用计时器在每次单击时重新启用它
- 添加对秒表计时器中小时数的支持
- 向Javascript计时器添加前导零
- 如何在游戏中添加计时器?