gpt4 book ai didi

python - Pygame 没有响应

转载 作者:行者123 更新时间:2023-12-01 02:46:20 25 4
gpt4 key购买 nike

我正在学习 pygame,我刚刚输入了一些基本行来尝试在窗口上移动球,但在显示图像后,窗口将卡住。

import pygame
pygame.init()
screen = pygame.display.set_mode((640, 480))
ball = pygame.image.load("ball.png").convert()
ball_rect = ball.get_rect()
white = (255,255,255)


frames = 100


for x in range(frames):
screen.blit(ball, ball_rect) # display player
ball_rect.move(2, 2) # move player
pygame.display.update()
pygame.time.delay(100)
screen.fill(white) # erase player

最佳答案

窗口并没有卡住,它只是在您设置的 10 秒内在同一位置刷新同一图像。

这主要是由移动图像的方法引起的,您应该使用 move_ip 而不是 move 作为快速修复 ( doc )。

您可以做的另一个更改是将 for 循环替换一段时间,让玩家在需要时退出:

import pygame
pygame.init()
clock = pygame.time.Clock()
screen = pygame.display.set_mode((640, 480))
ball = pygame.image.load("ball.png").convert()
ball_rect = ball.get_rect()
white = (255,255,255)


looping = True
while looping:

for event in pygame.event.get():
if(event.type is pygame.QUIT):
looping = False

screen.fill(white) # erase player

screen.blit(ball, ball_rect) # display player
ball_rect.move_ip(2, 2) # move player
pygame.display.update()
clock.tick(10) # to keep the same FPS, better increase !
# Thanks skrx !

关于python - Pygame 没有响应,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45228170/

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