javascript - 如何在 Phaser-Framework 中休眠一定秒数

标签 javascript phaser-framework

在我的游戏中,我试图让变量逐渐上升,因此我需要能够在再次增加变量之前休眠一定的时间。

最佳答案

1) 使用计时器。这将允许您执行一次性延迟事件,或重复执行该函数调用。

举个例子,如果您搜索的话,phaser 网站基本上会为您提供所有内容的示例, http://phaser.io/examples/v2/time/basic-timed-event

另外,从文档中 http://phaser.io/docs/2.4.8/Phaser.Timer.html

如果您需要重复,请记下“循环”功能(我会发布链接,但我还没有足够的声誉)。

2) 另一种选择是简单地与 Phaser 的游戏刻度相结合。在您的状态内(如果这是您执行变量增量的位置),创建一个更新函数(这将在每次游戏更新时调用)。您可以访问自上次更新以来的时间。

查找类 Phaser.Timer (同样,我无法发布链接)。 查看属性 elapsed 和 elapsedMS。您可以使用它来手动跟踪自上次增量事件以来耗时(在幕后,这基本上是移相器补间或定时事件正在做的事情)。

例如:

var timeSinceLastIncrement = 0;

function update()
{
  // Update the variable that tracks total time elapsed
  timeSinceLastIncrement += game.time.elapsed;
  
  if (timeSinceLastIncrement >= 10)  // eg, update every 10 seconds
  {
    timeSinceLastIncreemnt = 0;
    
    // Do your timed code here.
  }
}

请注意,选项 1 更简洁,并且可能是首选解决方案。我提出选项 2 只是为了建议如何手动完成此操作(事实上,通常如何在后台类似 Phaser 的框架中完成此操作)。

关于javascript - 如何在 Phaser-Framework 中休眠一定秒数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38240398/

相关文章:

javascript - Phaser 更新 Sprite 纹理

javascript - HTML/Javascript addEventListener Onchange 事件在 Onchange 中?

javascript - 这些javascript函数之间的区别

javascript - 每次值发生变化时,如何将更新的 prop 值传递给子进程?

javascript - "!function () {}"在 JavaScript 中的含义/作用是什么?

html - margin div 水平和垂直居中

javascript - 移相器 : Tween in different functions sets object to undefined

reactjs - 将 Phaser 与 React 结合使用

javascript - 正则表达式在字符串中搜索两个字符串之间的内容

javascript - 我无法使用 Phaser 3 中的创建功能将任何内容加载到 Canvas 上