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
我不知道如何解决这个问题。
答案 0 :(得分:0)
函数screen.blit
的第一个参数是pygame Surface
。可以将其视为可以绘制的屏幕。您正在指定类Image
的对象。这不适用于您无法绘制图像。
将background
替换为screen
,并在background
和screen
之间添加(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