Python 为什么pygame窗口动画仅在我移动光标时工作

Python 为什么pygame窗口动画仅在我移动光标时工作,python,pygame,cursor,Python,Pygame,Cursor,我正在按照这个指南做一只飞鸟 但是只有当我移动光标时屏幕才会更新。有人知道如何解决这个问题吗 import pygame, sys def draw_floor(): screen.blit(floor_surface, (floor_animation, 400)) screen.blit(floor_surface, (floor_animation + 275,400)) pygame.init() screen = pygame.display.set_mode

我正在按照这个指南做一只飞鸟 但是只有当我移动光标时屏幕才会更新。有人知道如何解决这个问题吗

import pygame, sys


def 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 = 0

bird_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
import pygame,sys
def draw_floor():
屏幕。blit(地板表面,(地板动画,400))
屏幕blit(地板表面,(地板动画+275400))
pygame.init()
screen=pygame.display.set_模式((275512))
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()
地板动画=0
bird_surface=pygame.image.load('C:/Users/cuerv/Downloads/flappy bird assets master/flappy bird assets master/sprites/bluebird midflap.png')。convert()
bird_rect=bird_曲面。get_rect(中心=(100256))
尽管如此:
对于pygame.event.get()中的事件:
如果event.type==pygame.QUIT:
pygame.quit()
sys.exit()
屏幕光点(bg_表面,(0,0))
屏幕。blit(鸟形表面(鸟形直线))
楼层动画-=1
绘图楼()

如果floor_动画我猜在您的函数中,当鼠标悬停在图像上或鼠标在时间t1的位置时,动作正在发生位置在t2。同时提供代码,以便我们检查可能存在的问题:)

这是个问题。在应用程序循环而不是事件循环中绘制场景:

#应用程序循环
尽管如此:
#事件循环
对于pygame.event.get()中的事件:
如果event.type==pygame.QUIT:
pygame.quit()
sys.exit()

#很可能是在事件循环而不是应用程序循环中绘制场景。只有在发生事件时才重新绘制屏幕,需要将重新绘制的函数上移