pygame无法成功进行

时间:2016-05-29 13:45:00

标签: python-2.7 pygame

import pygame
from sys import exit
pygame.init()
screen = pygame.display.set_mode((600,170),0,32) 
pygame.display.set_caption("Hello World!") //set caption
background = pygame.image.load('bg.jpeg').convert //load picture and convert it
while True:
    for event in pygame.event.get():
        if event.type == pygame.QUIT:
            pygame.quit()
            exit()
    screen.blit(background,(0,0))
    pygame.display.update() //refresh 

我得到的错误:

 File "/Users/huangweijun/PycharmProjects/untitled1/first.py", line 12, in<module>     

    screen.blit(background,(0,0))

    TypeError: argument 1 must be pygame.Surface, not builtin_function_or_method

我已下载pygame

我不知道如何解决这个问题。

2 个答案:

答案 0 :(得分:0)

函数screen.blit的第一个参数是pygame Surface。可以将其视为可以绘制的屏幕。您正在指定类Image的对象。这不适用于您无法绘制图像。

background替换为screen,并在backgroundscreen之间添加(0,0)作为参数。您的代码现在应该如下所示:

import pygame
from sys import exit
pygame.init()
screen = pygame.display.set_mode((600,170),0,32) 
pygame.display.set_caption("Hello World!") //set caption
background = pygame.image.load('bg.jpeg').convert //load picture and convert it
while True:
    for event in pygame.event.get():
        if event.type == pygame.QUIT:
            pygame.quit()
            exit()
    screen.blit(screen,background,(0,0))
    pygame.display.update() //refresh

答案 1 :(得分:0)

菠萝,看起来问题就在这一行:

background = pygame.image.load('bg.jpeg').convert

我认为您想要使用的是: background = pygame.image.load('bg.jpeg').convert_alpha()

希望这就是你要找的东西!

编辑:您也可以在convert()哎呀之后添加括号! 尝试两者,看看会发生什么!

-Travis