处于非活动状态 5 秒后结束游戏
End the game after 5 seconds of inactivity
我是 Phaser.io 新手,所以如果这篇文章不好,我深表歉意。
5秒不活动后如何结束游戏?我做了一些东西,但我认为这对性能真的很糟糕。每次调用更新函数时,我都会检查用户是否没有按"向上、向左、向右、向下",并在我检查我们是否超过了时间之后(当前时间 - 开始时间> 5000)。这段代码有 2 个我试图触发的问题:- 性能真的很差,因为每次调用更新函数时都不需要检查- 在我的条件下,我想检查"没有按键被按下",现在我只是检查用户是否没有按"向上"、"向左"、"向右"或"向下"
怎么办呢?对不起我的英语
var timeBeginning = new Date().getTime();
function update() {
// input to move the ship
if (cursors.up.isDown) {
game.physics.arcade.accelerationFromRotation(ship.rotation, 200, ship.body.acceleration);
} else {
// stopper the acceleration
ship.body.acceleration.set(0);
}
if (cursors.left.isDown) {
ship.body.angularVelocity = -300;
} else if (cursors.right.isDown) {
ship.body.angularVelocity = 300;
} else {
// stop the rotation
ship.body.angularVelocity = 0;
}
if (!cursors.up.isDown && !cursors.left.isDown && !cursors.right.isDown && !cursors.down.isDown) {
if (new Date().getTime() - timeBeginning > 5000) {
end();
}
} else {
timeBeginning = new Date().getTime();
}
}
您可以通过 game.input.keyboard.addCallbacks 添加全局键盘事件侦听器
var timeBeginning = Date.now();
function create(){
function updateTime(){
timeBeginning = Date.now();
}
game.input.keyboard.addCallbacks(game, updateTime, updateTime);
}
function update() {
//your code
if (Date.now() - timeBeginning > 5000) {
end();
}
}
相关文章:
- 为什么“;未定义的“;在JavaScript中结束循环
- 如何使用phaser使html5游戏在移动设备浏览器上运行
- 循环结束/推送到数组之前在页面上呈现EJS
- 如何有效地将游戏数据存储在URL查询字符串中
- 在另一个函数成功结束后调用该函数
- Javascript游戏输入失去焦点
- 如何在p5.js中管理多智力竞赛游戏的多个屏幕
- 为基于Canvas和jQuery的游戏添加一个结束屏幕
- 结束一个反应游戏Javascript
- 处于非活动状态 5 秒后结束游戏
- 结束游戏的逻辑操作 Javascript
- 游戏结束页面 - 无法保存到本地存储
- 如何从所有<tds>当游戏在战舰上结束时
- 在定时器降到零时禁用点击计数器功能;游戏结束”;
- 如何在简单的贪吃蛇游戏中添加结束画面?
- 井字游戏结束后禁用按钮
- 为ios、android等平台开发游戏是否需要触点启动和触点结束?
- 蛇游戏结束
- 当游戏结束时,如何禁止新游戏的开始
- 飞镖游戏关卡结束