【发布时间】:2017-06-12 18:09:54
【问题描述】:
嘿,我只是在 python 中制作一个小游戏,我正在使用它的 python 2.7.13,因为我已经习惯了它的语法(哈哈,我有一个语法错误,它与 TypeError 相关:参数 1 必须是 pygame.Surface,而不是函数)但我正在从同一目录中获取图像并尝试在屏幕上显示它只是为了获得游戏的布局但我无法让它工作我得到的错误是关于这个线
display.blit(floor,(x,y))
错误: 回溯(最近一次通话最后): 文件“1stgame.py”,第 38 行,在 地板(x,y) 文件“1stgame.py”,第 25 行,在地板上 display.blit(地板,(x,y)) TypeError: 参数 1 必须是 pygame.Surface,而不是函数
这是代码
import pygame
#Start pygame
pygame.init()
#Window/Screen/Display
display_x = 800
display_y = 600
display = pygame.display.set_mode((display_x,display_y))
pygame.display.set_caption('Platforms')
clock = pygame.time.Clock()
#Colors
black = (0,0,0)
green = (1,166,17)
#Images
floor = pygame.image.load('rock.jpg')
def floor(x,y):
display.blit(floor,(x,y))
x = (display_x * 0.45)
y = (display_y * 0.8)
not_dead=True
while not_dead:
for event in pygame.event.get():
if (event.type==pygame.QUIT):
not_dead=False
display.fill(black)
pygame.draw.rect(display, green, [0,550,800,50])
floor(x,y)
pygame.display.update()
clock.tick(60)
print "Hello"
pygame.quit()
【问题讨论】:
-
您“在某种程度上”有语法错误?以什么方式?它要么说
SyntaxError,要么不说。当你“无法让它工作”时,它会做什么而不是工作?将您的问题编辑为minimal reproducible example。 -
我不确定它是语法错误,但我很肯定我更新了帖子,提供了更多细节和错误代码。它打开然后立即关闭
-
如果我注释掉与图像有关的所有内容(不是矩形),代码就完美了
-
“我不确定它是语法错误,但我很肯定它是” - 什么?
-
修复了它,我把 Floor 作为一个函数,表面 math2001 做对了。我认为这是一个语法错误
标签: python image layout pygame