如何在 Phaser-Framework 中休眠一定时间的秒数
How to sleep a certain amount of seconds in the Phaser-Framework
在我的游戏中,我试图让一个变量逐渐上升,所以我需要能够在再次增加变量之前休眠一段时间。
1) 使用计时器。这将允许您执行一次性延迟事件,或重复执行该函数调用。
举个例子,因为相位器网站基本上会给你所有东西的例子,如果你搜索它,http://phaser.io/examples/v2/time/basic-timed-event
另外,从文档中http://phaser.io/docs/2.4.8/Phaser.Timer.html
如果您需要重复,请注意"循环"功能(我会发布链接,但我还没有足够的声誉)。
2)另一种选择是简单地与Phaser的游戏滴答声联系起来。在您的状态中(如果这是您执行变量增量的地方),创建一个更新函数(这将称为每次游戏更新)。您可以访问自上次更新以来的时间。
查找类 Phaser.Timer (同样,我无法发布链接)。查看已用和已用MS的属性。您可以使用它来手动跟踪自上次增量事件以来经过的时间(在后台,这基本上是相位器补间或定时事件正在执行的操作)。
例如:
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 只是为了建议如何手动完成此操作(事实上,通常在幕后的相位器等框架中如何完成)。
相关文章:
- 绑定时将Parsley minlength消息作为选项传递时,未对其进行自定义
- 定时Ajax进程在用户离开页面后继续
- 将菜单项与滚动绑定时出现Jquery错误
- 定时循环,使用Javascript在2个循环之间间隔x秒
- 定时循环,间隔10秒
- 如何在php/javascript中制作定时器和警报
- AngularJS依赖注入定时问题
- Jquery定时问题
- 移动定时触摸事件
- 用于本地主机上进程间通信的Javascript中的UDP
- 如何使用Javascript使屏幕颜色随时间变化
- 双倒计时定时器
- javascript定时函数-预期的标识符
- 用于异步函数中的循环和定时问题
- 智能窗体只弹出日期选择器而不是时间选择器
- 突然间我可以't登录ASP.Net网站
- 一个定时器事件会在多大程度上减慢我在JavaScript中的代码
- 定时动画gif显示
- 补间轻松和ESLINT
- 如何禁用创建 js 补间