首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >为什么我的游戏延迟发生在我想要它之前?

为什么我的游戏延迟发生在我想要它之前?
EN

Stack Overflow用户
提问于 2019-06-21 01:03:45
回答 1查看 63关注 0票数 0

我正在用pygame创建一个游戏,我想在关卡的末尾显示“关卡完成”的文本。我想在文本被删除后创建一个延迟,这样它就会显示几秒钟。然而,在我的文本显示之前,延迟一直在发生,尽管代码行在文本被blitted之后。这是我的游戏的链接:

Swamp_Game

我尝试使用pygame.time.delay()函数,但它总是使暂停发生在我的文本之前。

代码语言:javascript
运行
复制
# lines 101-107 on main.py

screen.blit(field, field_rect)
core_text(screen, "Level Complete!", 100, 150, 200, BLACK)
pygame.time.delay(2000)
screen.blit(swamp, swamp_rect)
level_2() # function to initiate level 2
clock.tick(20)
pygame.display.flip()

我希望暂停发生在文本显示之后,但它总是发生在它之前。因此,我的文本在移动到下一层之前只显示了几分之一秒,几乎看不见。

EN

回答 1

Stack Overflow用户

发布于 2019-06-21 01:26:48

,但它总是让停顿发生在我的文本之前。

文本在延迟之前绘制,但在显示器上不可见。

当然,在pygame.time.delay()之前,您必须通过pygame.display.flip()pygame.display.update()更新显示。

此外,您应该处理事件(例如pygame.event.pump()) -某些系统需要事件处理才能进行显示更新。

代码语言:javascript
运行
复制
pygame.display.flip()
pygame.event.pump()
pygame.time.delay(2000)
pygame.event.pump()
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56690786

复制
相关文章

相似问题

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