如何将函数延迟 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 个刻度?的主要内容,如果未能解决你的问题,请参考以下文章

par函数的xaxt函数-控制x轴刻度的显示

matplotlib之xticks()函数设置X轴方法--刻度、标签

如何格式化双对数 x 轴刻度标签以显示为 10 的幂?

matlplotlib根据函数画出图形

r语言中acf函数的xaxp参数是啥意思

Matlab中set-gca函数的使用