Pygame无响应显示[重复]

Posted

技术标签:

【中文标题】Pygame无响应显示[重复]【英文标题】:Pygame unresponsive display [duplicate] 【发布时间】:2020-12-11 20:32:04 【问题描述】:

因此,我正在尝试为使用精灵进行 X 和 Y 运动的基本 2D python 游戏创建基础。

然而,尽管这里的代码尝试screen.fillscreen.blit,但显示没有响应

playerX = 50
playerY = 50
player = pygame.image.load("player.png")
width, height = 64*8, 64*8
screen=pygame.display.set_mode((width, height))
screen.fill((255,255,255))
screen.blit(player, (playerX, playerY))

我错过了什么重要的东西吗?

【问题讨论】:

【参考方案1】:

一个最小的、典型的 PyGame 应用程序

有一个游戏循环

必须通过pygame.event.pump()pygame.event.get() 处理事件。

必须通过pygame.display.flip()pygame.display.update() 更新分别代表显示窗口的Surface

pygame.event.get():

对于游戏的每一帧,您都需要对事件队列进行某种调用。这确保您的程序可以在内部与操作系统的其余部分进行交互。

另见Python Pygame Introduction

最小示例: repl.it/@Rabbid76/PyGame-MinimalApplicationLoop

import pygame

pygame.init()

playerX = 50
playerY = 50
player = pygame.image.load("player.png")
width, height = 64*8, 64*8
screen = pygame.display.set_mode((width, height))

# 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
    screen.fill((255,255,255))

    # draw the scene   
    screen.blit(player, (playerX, playerY))

    # update the display
    pygame.display.flip()

【讨论】:

这很好,感谢您的解释,编码继续!

以上是关于Pygame无响应显示[重复]的主要内容,如果未能解决你的问题,请参考以下文章

pygame-飞机大战1.0(步骤+窗口无响应问题)

如何编程以防止 Windows“无响应”对话框 [重复]

对话框在 Android Studio IDE 中显示为选项卡,然后 IDE 变得无响应 [重复]

在无验证场景中返回验证失败,如响应 [重复]

尝试从外部脚本更新进度条时,QWidget 变得无响应[重复]

为啥电脑总是显示这个,软件程序总是无响应