TypeError:必须是pygame.Surface,而不是list

时间:2015-04-24 11:40:33

标签: python pygame surface

这是我的代码,我试图制作一个矩形:

import pygame
import sys
pygame.init()
color = [255,20,78]
black = [0,0,0]
screen = pygame.display.set_mode((800,600), 0, 32)
pygame.display.set_caption("Rectangle")

while True:
    for event in pygame.event.get():
        if event.type == pygame.QUIT:
            pygame.quit()
            sys.exit()
    screen.fill(color)
    pygame.draw.rect(color, black, [400,300,10,10])
    pygame.display.update()

我不明白错误对Surface的意义 有人可以帮帮我吗? 任何帮助赞赏! 哦,请不要发誓,我仍然是一个节目菜鸟。 错误:

Traceback (most recent call last):
  File "C:\Users\Hugo\Desktop\Pygame\game - kopie.py", line 15, in <module>
    pygame.draw.rect(color, black, [400,300,10,10])
TypeError: must be pygame.Surface, not list

1 个答案:

答案 0 :(得分:1)

问题在于

pygame.draw.rect(color

颜色是列表。

draw.rect需要Surface作为第一个参数。

  

pygame.draw.rect()绘制一个矩形形状rect(Surface,color,Rect,   width = 0) - &gt; Rect在Surface上绘制矩形形状。给定的   Rect是矩形的区域。 width参数是厚度   画出外缘。如果width为零,则矩形将为   填充。

     

请记住,Surface.fill()方法也适用于绘图   填充矩形。事实上,Surface.fill()可以是硬件   在某些平台上加速了软件和硬件显示   模式。

请作为第一个参与者通过Surface