python-3.x - Pygame 窗口在打开时冻结
问题描述
我正在学习如何使用 pygame,我只是想为我正在创建的游戏打开一个窗口。
程序编译得很好,我试着画一个圆圈来看看这是否会改变任何东西,但在这两种情况下,我仍然只是得到一个冻结的空白窗口。我的电脑有足够的存储空间,只打开了 2 个应用程序,但这是唯一一个冻结的应用程序。
import pygame
pygame.init()
window = pygame.display.set_mode((500, 500))
我必须强制退出 Python,因为它停止响应。我有 Python 3.7.4 版和 Pygame 1.9.6 版。
有什么建议吗?
解决方案
一个最小的、典型的 PyGame 应用程序
需要一个游戏循环
必须通过
pygame.event.pump()
或来处理事件pygame.event.get()
。必须通过或更新
Surface
分别代表显示窗口的内容。pygame.display.flip()
pygame.display.update()
简单示例,在窗口中心绘制一个红色圆圈: repl.it/@Rabbid76/PyGame-MinimalApplicationLoop
import pygame
pygame.init()
window = pygame.display.set_mode((500, 500))
# main application loop
run = True
while run:
# event loop
for event in pygame.event.get():
if event.type == pygame.QUIT:
run = False
# clear the display
window.fill(0)
# draw the scene
pygame.draw.circle(window, (255, 0, 0), (250, 250), 100)
# update the display
pygame.display.flip()
推荐阅读
- python - 如何在命令行 shell 中运行内联 Python 代码?
- python - ValueError:找到具有 1 个特征的数组,而至少需要 2 个特征
- java - 当 Spring Boot Oauth2 授权服务器中的 grant_type=client_credentials 时如何为错误的凭据抛出任何异常
- asp.net - VS2019 v16.8.1新项目模板未加载
- python-3.x - 如何检查 asyncio create_server 是否失败?
- angular - 下拉列表的角度更改事件不起作用
- c# - 我可以从模型类生成表模式吗?
- python - 当我尝试导入我所做的模块时未找到模块错误
- python - 是否可以使用 Django 在同一个视图中读取和更新?
- rust - 如何将 wasm 特定的宏与函数和结构分离