为什么pygame屏幕不会刷新,直到我移动窗口arround?

时间:2016-05-31 05:17:20

标签: python pygame

我是pygame的新手,我有这个代码试图为足球比赛做一种启动屏幕,这个开始屏幕有一个静态背景图像,即“img_start_screen”和我想要的游戏徽标它有一个小动画,当它到达屏幕上的某个点时停止,该徽标是变量“徽标”

import pygame,sys
from pygame.locals import *
pygame.init()
screen=pygame.display.set_mode((1280,720))
pygame.display.set_caption("CEFoot 3.0")
FPS=60
fpsClock=pygame.time.Clock()
img_start_screen=pygame.image.load("start_screen.gif")   
logo=pygame.image.load("logo8bit.png")
logox=390
logoy=0
direction="down"
while True:
    window.blit(img_start_screen,(0,0))
    if direction == "down":
        logoy+=5
        if logoy==300:
            direction="center"
    if direction == "center":
        pass

    screen.blit(logo,(logox,logoy))

    for event in pygame.event.get():
        if event.type==QUIT:
            pygame.quit()
            sys.exit()
    pygame.display.update
    fpsClock.tick(FPS)

问题在于,当我运行代码时,它以黑屏启动,直到我将窗口“移出”Windows屏幕才刷新,图像不是问题,因为我运行没有它们的代码和它显示了相同的黑屏。我开始认为它不是代码问题而是兼容性,因为我运行的是Python 3.2和Pygame 1.9(我认为)最后一个版本很旧,所有这些都在Windows 10上,所以这可能是问题所在。提前谢谢。

1 个答案:

答案 0 :(得分:1)

如您所知pygame.display.update是一个函数 正如你打印出来的那样:

>>> print pygame.display.update
<built-in function update>

所以当你调用没有括号()的pygame.display.update时,你只是说明了对函数的引用。如果使用括号,则调用函数:

>>> print pygame.display.update()
None

这会调用该函数并返回None