繁体   English   中英

pygame.Surface'对象不可调用

[英]pygame.Surface' object is not callable

我已经搜索了一些问题,但并没有真正回答我的问题。

我是Python和Pygame的新手,现在才几周:),正在做有关游戏开发的教程。 我在这里有一个代码,它应该在屏幕上显示我的错误图像,但是没有,相反,我得到了一个黑色的窗口...我在哪里出错了?

import pygame, sys


pygame.init()
WIDTH, HEIGHT = (800, 600)
screen=pygame.display.set_mode((WIDTH, HEIGHT),0, 32)
img_bug = pygame.image.load("bug.png").convert_alpha()

clock = pygame.time.Clock()    
FPS = 24
fivesecondinterval = FPS * 5
totalframes = 0

while True: #Never ending loop
for event in pygame.event.get():   
    if event.type==pygame.QUIT:           
        pygame.quit()
        sys.exit()

totalframes += 1

if totalframes % fivesecondinterval ==0 :

screen.blit(img_bug, (200, 200))
pygame.display.flip()   
clock.tick(FPS)

您必须正确缩进代码。 这应该工作:

import pygame, sys

pygame.init()
WIDTH, HEIGHT = (800, 600)
screen=pygame.display.set_mode((WIDTH, HEIGHT),0, 32)
img_bug = pygame.image.load("bug.png").convert_alpha()

clock = pygame.time.Clock()    
FPS = 24
fivesecondinterval = FPS * 5
totalframes = 0

while True: #Never ending loop
    for event in pygame.event.get():   
        if event.type==pygame.QUIT:           
            pygame.quit()
            sys.exit()

    totalframes += 1

    if totalframes % fivesecondinterval ==0 :
        screen.blit(img_bug, (200, 200))
        pygame.display.flip()   
            clock.tick(FPS)

importand部分是(在修复了导致异常的所有缩进错误之后):

if totalframes % fivesecondinterval==0:
    screen.blit(img_bug, (200, 200))
    pygame.display.flip()   
        clock.tick(FPS)

代码的一部分在循环内。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM