【发布时间】:2014-09-06 05:58:20
【问题描述】:
我正在制作一款非常依赖于经过时间的游戏。我当前的实现基于 pygame.time.get_ticks() 并且非常简单易行;这是一个小例子:
if event.type == DISPTIMER:
time = int(pygame.time.get_ticks()/1000)
timeObj = buttonFont.render(str(time) + ' seconds since start', False, black)
windowSurfaceObj.blit(timeObj, (450, 50))
但是,我不确定如何腌制这个。我已经搜索了所有 pygame 文档,但找不到任何写入 pygame 时间模块的方法。 我可以使用时钟,但我找不到任何方法来读取时钟的值而不重置它,这使得它不适合我的目的。
有没有办法做到这一点而无需笨拙的变通办法?
【问题讨论】:
-
你不能在 PyGame 中覆盖时间。
-
您可能需要腌制保存的时间并将其添加到
get_ticks()返回的时间中,尽管这可能属于“笨拙的解决方法”类别。 -
是的,我想。我想我正在寻找的是除了 pygame 的时间之外我还可以使用什么的任何输入,这将非常适合 pygame 的时间适合但可以腌制和加载的任务。编辑:达诺,这似乎是一个可能的候选人。我可能只需要一个额外的行和变量就可以做到这一点。
-
你想通过这个来完成什么?你能详细说明一下吗?
-
当然。这是一款休闲游戏。经过时间的主要目的是作为用户反馈;我想向玩家报告他们玩了多久。从可用性的角度来看,这是一个有用的指标,从竞争的角度来看,它也是相关的。此外,某些事情会在经过几秒钟后在游戏中发生,并且在游戏加载时恢复经过的时间可以防止通过保存和加载来改变游戏结果和行为。这也可以通过单独的代码来完成,但在很多事情都是定时的游戏中,这很笨拙。
标签: python python-3.x time pygame pickle