在pygame中使用类创建一个矩形?

时间:2019-06-24 19:30:28

标签: python pygame

问题实际上是在pygame中创建矩形。显然,它只是pygame.draw.rect(),但是我的问题是当我试图在类中绘制矩形并使用def __init__()

我尝试在__init__语句中使用属性来绘制矩形,但发现出现错误。这似乎是最成功的方法,但仍未显示框。

class rectangles:

    def __init__(self, command, display, colour, x, y, width, height):
        self.command = command
        self.display = display
        self.colour = colour
        self.x = int(x)
        self.y = int(y)
        self.width = int(width)
        self.height = int(height)

    def rectdraw(self):
        return (self.command, self.display, self.colour, self.x, self.y, self.width, self.height)

block1 = rectangles(pygame.draw.rect, window, black, 100, 100, 200, 200)
block2 = rectangles(pygame.draw.rect, window, black, 20, 20, 400, 600)
block3 = rectangles(pygame.draw.rect, window, black, 800, 500, 40, 40)    


(block1.rectdraw())
(block2.rectdraw())
(block3.rectdraw())

(我也为pygame创建了窗口,只是这里没有包含它)

尽管该程序没有出现任何错误,但只会显示一个空白屏幕,而不会显示我想要的框。这尤其令人困惑,它使我认为我的课有问题。

1 个答案:

答案 0 :(得分:0)

代码中的问题是您编写的位置

else{ 
    var same = order._ShippingProviderId; 
    order._ShippingProviderId = undefined;
    order._ShippingProviderId = same;
}

您应该写

return (self.command, self.display, self.colour, self.x, self.y, self.width, self.height)

代替