首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Time.time统一

Time.time统一
EN

Stack Overflow用户
提问于 2022-03-24 08:14:31
回答 1查看 47关注 0票数 0

我看到了一个关于如何像蛇游戏一样移动立方体的视频。

嗨,在这个视频( https://www.youtube.com/watch?v=aT2zNLSFQEk&list=PLLH3mUGkfFCVNs51eK8ftCAlI3hZQ95tC&index=11 )中,他声明浮点数**lastMove **没有值(默认为零),并在条件和**减号**与Time.time一起使用它,然后将它分配给**lastMove *。我的问题是,当没有价值时,lastMove在条件下的作用是什么?如果我把它从"if语句“中清除,游戏就会运行得很快,但是如果停留在"if语句”中,时间就会慢得多。

EN

回答 1

Stack Overflow用户

发布于 2022-03-24 08:36:34

他所做的就是不断检查time - lastMove是否大于给定的预定义区间(timeInBetweenMoves)。lastMove固定时,每个帧的时间都在增加。因此,在某个时候,这个条件将是正确的。如果是的话,他用时间的值更新lastMove,使其“重置循环”=,使减差再次低于间隔。

这样做的目的是只在一个固定的间隔(0.25秒),而不是每帧移动。如下所示:

代码语言:javascript
运行
复制
interval = 0.25 (timeBetweenMoves)

time (secs) | lastMove  | time - lastMove  
-----------------------------------------
0.00        | 0         | 0
0.05        | 0         | 0.05
0.10        | 0         | 0.10
0.15        | 0         | 0.15
0.20        | 0         | 0.20
0.25        | 0         | 0.25
0.30        | 0         | 0.30 ---> bigger than interval: MOVE and set lastMove to this (0.30)
0.35        | 0.30      | 0.5
0.40        | 0.30      | 0.10
0.45        | 0.30      | 0.15
0.50        | 0.30      | 0.20
0.55        | 0.30      | 0.25
0.60        | 0.30      | 0.30 ---> bigger than interval: MOVE and set lastMove to time (0.60)
0.65        | 0.60      | 0.5
0.70        | 0.60      | 0.10
...

这有点节流。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/71598979

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档