屏幕仅在我移动光标时更新有人知道如何解决此问题import pygame, sysdef draw_floor(): screen.blit(floor_surface, (floor_animation, 400)) screen.blit(floor_surface, (floor_animation + 275,400))pygame.init()screen = pygame.display.set_mode((275,512))clock = pygame.time.Clock()bg_surface = pygame.image.load('C:/Users/cuerv/Downloads/flappy-bird-assets-master/flappy-bird-assets-master/sprites/background-day.png').convert()floor_surface = pygame.image.load('C:/Users/cuerv/Downloads/flappy-bird-assets-master/flappy-bird-assets-master/sprites/base.png').convert()floor_animation = 0bird_surface = pygame.image.load('C:/Users/cuerv/Downloads/flappy-bird-assets-master/flappy-bird-assets-master/sprites/bluebird-midflap.png').convert()bird_rect = bird_surface.get_rect(center = (100,256))while True: for event in pygame.event.get(): if event.type == pygame.QUIT: pygame.quit() sys.exit() screen.blit(bg_surface, (0, 0)) screen.blit(bird_surface, (bird_rect)) floor_animation -= 1 draw_floor() if floor_animation <= -275: floor_animation = 0 screen.blit(floor_surface, (floor_animation, 400)) pygame.display.update() clock.tick(120) enter code here
2 回答
精慕HU
TA贡献1845条经验 获得超8个赞
这是缩进的问题。在应用程序循环而不是事件循环中绘制场景:
# application loop
while True:
# event loop
for event in pygame.event.get():
if event.type == pygame.QUIT:
pygame.quit()
sys.exit()
#<--| INDENTATION
screen.blit(bg_surface, (0, 0))
screen.blit(bird_surface, (bird_rect))
floor_animation -= 1
draw_floor()
if floor_animation <= -275:
floor_animation = 0
screen.blit(floor_surface, (floor_animation, 400))
pygame.display.update()
注意,事件循环仅在事件发生时执行,但应用程序循环是连续执行的。
添加回答
举报
0/150
提交
取消