为什么pygame屏幕在我移动窗口之前不会刷新?

2024-10-03 02:37:24 发布

您现在位置:Python中文网/ 问答频道 /正文

我是pygame上的新手,我有一个代码来尝试为一个足球游戏做一个startscreen,这个开始屏幕有一个静态的背景图像,它是“img_start_screen”和游戏的徽标,我希望它有一个小动画,当它到达屏幕上的某个点时停止,这个logo是变量“logo”

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屏幕,它才会刷新,图像不是问题,因为我运行代码时没有它们,它显示的是相同的黑屏。我开始认为这不是代码问题,而是兼容性问题,因为我运行的是Python3.2和PyGame1.9(我认为)最新版本是非常旧的,所有这些都是在Windows10上运行的,所以这可能是问题。谢谢提前。在


Tags: 代码图像importevent游戏imgif屏幕
1条回答
网友
1楼 · 发布于 2024-10-03 02:37:24

你知道吗pygame.display.update是一个函数 如果你打印出来:

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

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

^{pr2}$

这将调用函数并返回None

相关问题 更多 >