gpt4 book ai didi

python - 在 pygame 中暂停游戏和用户输入

转载 作者:行者123 更新时间:2023-12-01 05:01:21 29 4
gpt4 key购买 nike

我目前正在 Pygame 中制作游戏,我按照教程制作了基本游戏,但我知道我想改进它并使其在一定时间后(例如每 30 秒左右)游戏暂停并向用户提出问题,他们必须输入正确的答案才能继续玩游戏。我一直在网上查找并进行了一些尝试,但还是很挣扎!相关代码如下:

class question():
pressKeySurf, pressKeyRect = makeTextObjs('9+1.', BASICFONT, WHITE)
pressKeySurf, pressKeyRect = makeTextObjs('Press A for 10.', BASICFONT, WHITE)
pressKeySurf, pressKeyRect = makeTextObjs('Press B for 15.', BASICFONT, WHITE)
for event in pygame.event.get():
if (event.key==K_a):
showTextScreen('Correct answer') # pause until a key press
lastFallTime = time.time()
lastMoveDownTime = time.time()
lastMoveSidewaysTime = time.time()
else:
showTextScreen("Wrong")

pygame.time.set_timer(question,1000)

我不知道目前这是否朝着正确的方向发展,因为我无法让它工作,因为我认为我理解这个错误并且我不应该在计时器中使用类,但是不确定?

最佳答案

您希望这是一个函数,而不是一个类。将 class 替换为 def

更大的问题是您对 set_timer 的使用不正确。它是:

set_timer(eventid, timems)

其中 eventidtimems 都是整数。 set_timer 按照指定的时间间隔将事件放入事件队列,它不调用任何函数。您必须将代码放入主循环中以检查该 eventid,然后执行适当的代码。

示例代码来自 this SO answer: :

pygame.init()
pygame.time.set_timer(USEREVENT + 1, 100)
while True:
for event in pygame.event.get():
if event.type == USEREVENT + 1:
functionName()
if event.type == QUIT:
pygame.quite()
sys.exit()

关于python - 在 pygame 中暂停游戏和用户输入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26088851/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com