【发布时间】:2017-06-27 16:03:36
【问题描述】:
我正在使用 python 2.7 制作一个简单的游戏,每当我尝试绘制一个矩形时,我都会得到:
Traceback(最近一次调用最后一次): 文件“C:/Users/HP/Desktop/experiment.py”,第 335 行,在 (宽度,高度)]) TypeError: 无效的颜色参数
这是相关代码
BLACK = (0, 0, 0)
grid = []
for row in range(10):
#add empty array
grid.append([])
for column in range(11):
grid[row].append(BLACK)
WIDTH = 30
HEIGHT = 30
MARGIN = 5
#starting pygame
pygame.init()
#Setting window dimensions
WINDOW_SIZE = [425,320]
screen = pygame.display.set_mode(WINDOW_SIZE)
stopped = False
while not stopped:
for event in pygame.event.get():
if event.type == pygame.QUIT:
stopped = True
#draw grid
for row in range(10):
for column in range(11):
Color = grid[row][column]
pygame.draw.rect(screen,Color,
[((MARGIN + WIDTH) * column + MARGIN, (MARGIN + HEIGHT) * row + MARGIN),
(WIDTH ,HEIGHT)])
clock.tick(60)
pygame.display.flip()
pygame.quit()
任何帮助将不胜感激!!提前致谢!
编辑:如果需要,这里是 pastebin https://pastebin.com/jCXT0M4a 中的整个脚本
请原谅它的质量
【问题讨论】:
-
这个错误对我来说似乎是不言自明的。当需要颜色时,您正在提供
(WIDTH, HEIGHT)元组。根据函数调用的形式参数仔细检查您的参数。 -
我查看了文档,pygame.draw.rect() 的参数是:Surface、color、Rect、width=0,pygame.Rect() 的参数是 ((left, top) , (width, height)) 所以我不知道为什么它不起作用
-
我刚刚运行了这段代码并添加了正确的导入语句并且没有得到任何错误。您介意在其余代码中添加一个 pastebin 链接吗?
-
这是整个脚本,请原谅它的大小和质量,我还在学习pastebin.com/jCXT0M4a
-
我现在无法自行检查您的代码,但您的代码确实应该工作,所以我现在也很困惑...您是否尝试过将您的 Rect 参数定义为一个单独的变量并将其传递给您的
pygame.draw.rect()调用?可能会改变您的错误所在并提供更多线索。
标签: python python-2.7 pygame