为什么画一个边框很粗的 PyGame 矩形会画一个加号呢?

问题描述

所以我今天画了一个矩形:

my_rectangle = pygame.Rect(100,100,5,5)
pygame.draw.rect(display,colour["black"],my_rectangle,100)

它绘制了一个非常大的十字/加号,而不是绘制一个细边框矩形。

enter image description here

发生这种情况是因为我在将矩形绘制到屏幕上时输入了“100”而不是“1”作为边框粗细。
但这背后的逻辑是什么?
边框厚度变得如此之大......?
有人想解释一下您认为或知道发生了什么吗?

解决方法

pygame.draw.rect()

rect(surface,color,rect,width=0) -> Rect

宽度(整数)-- (可选)用于线条粗细或表示要填充矩形(不要与 rect 参数的宽度值混淆)

  • 如果宽度 > 0,则用于线条粗细

注意当使用宽度值 > 1 时,边缘线将增长到矩形的原始边界之外

因此,您实际上是在沿着矩形的边缘绘制 4 条长 5、厚 100 的线。由于线条排列成正方形并且比长度更粗,因此最终的形状看起来是一个十字形。