如何将函数延迟 X 个刻度?
Posted
技术标签:
【中文标题】如何将函数延迟 X 个刻度?【英文标题】:How do I delay a function by X amount of ticks? 【发布时间】:2012-12-12 23:59:29 【问题描述】:好的,所以我有一个在按下键时调用的钩子,例如空格键。我想做的是,当这种情况发生时,我想调用一个函数。下一个tick,我想调用一个不同的函数。
import pygame
def func1():
do_things
def func2():
do_other_things
while True:
for event in pygame.event.get():
if event.type == pygame.K_SPACE:
func1()
#wait(1, func2)
显然 #wait 被替换为但是可能会延迟 1 滴。
有没有办法做到这一点?我猜它要么是我错过的基本功能,要么是非常复杂的东西。
【问题讨论】:
【参考方案1】:func2timer = -1
while True:
if func2timer >= 0:
func2timer -= 1
if func2timer == 0:
func2()
for event in pygame.event.get():
if event.type == pygame.K_SPACE:
func1()
func2timer = 1
(如果您想等待更多滴答声,您可以将计时器调整为大于 1)
【讨论】:
【参考方案2】:使用变量来标记是否在时机成熟时调用func2
:
shouldDoFunc2 = false
while True:
if shouldDoFunc2:
func2()
shouldDoFunc= false
for event in pygame.event.get():
if event.type == pygame.K_SPACE:
func1()
shouldDoFunc2()
【讨论】:
以上是关于如何将函数延迟 X 个刻度?的主要内容,如果未能解决你的问题,请参考以下文章