【问题标题】:Pygame window not showing in MacOSXPygame 窗口未在 MacOS 中显示
【发布时间】:2017-02-18 18:39:33
【问题描述】:

我一直在 conda 环境中使用 pygame。安装很顺利,但是每当我调用翻转时,它都不会从终端打开任何窗口。

这是应该打开窗口的代码:

screen.blit(background_image, (0, 0))
pygame.display.flip()
pygame.display.update()

pygame 启动后,显示如下信息:

警告:140:此应用程序或其使用的库正在使用 已弃用用于托管音频单元的 Carbon 组件管理器。支持 因为这将在未来的版本中删除。此外,这使得 主机与版本 3 音频单元不兼容。请过渡到 AudioComponent.h 中的 API。

这是entire code

这是一个数独游戏,应该显示一个正在解决数独的棋盘。

【问题讨论】:

  • flip() 和 update() 是同义词。您只需要使用其中之一。显示您的其余代码,我们可以看到它可能是什么。仅供参考,那个警告就是——来自 OS X 的警告。它没有任何效果。
  • 这些命令是否在循环中?如果要保持窗口处于活动状态,则必须在循环中使用 pygame.display.update()
  • @Chris 和 TrakJohson,我已将整个代码发布为我的仓库的链接以提供更多上下文。
  • 我看不出来,因为它看起来不像完整的代码,但如果你有 pygame.display.flip() 后跟你肯定会看到一个空白屏幕pygame.display.update()。它们的含义相同,因此您绘制屏幕,​​显示它,然后立即将其替换为空白屏幕。删除其中一行。
  • @Chris 在link 中有整个回购。我已删除,但它仍然不显示任何屏幕。

标签: python pygame


【解决方案1】:

(此答案并非针对原始问题,而是针对可能遇到相同问题的任何人)

在游戏循环中,您必须处理/检查事件,以便 pygame 知道您的游戏没有崩溃:

screen = pygame.display.set_mode((1000, 500))

while True:
    for event in pygame.event.get():
        # process events

    # Update your sprites

    pygame.display.update()

【讨论】:

    猜你喜欢
    • 2022-12-23
    • 1970-01-01
    • 2018-06-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多