Pygame rect.centre 属性
Pygame rect.centre attribute
所以这是 pygame python 代码的两部分:
a = self.img.get_rect(topleft = (self.x, self.y))
print(a.topleft)
这段代码的输出是:
(200, 189)
另一个pygame代码:
a = self.img.get_rect(topleft = (self.x, self.y)).center
print(a)
这段代码的输出:
(234, 213)
注:The value of self.x is 200 and self.y is 200
所以现在我的问题是,在我们将 .center 放在 pygame rect object or the variable a
之后,当我打印 a 的值时,它会发生什么变化以及 pygame 之后的 .center 有什么作用rect对象呢?
pygame.Surface.get_rect.get_rect()
returns 具有 Surface 对象大小的矩形,但它 returns 始终从 (0 , 0) 因为 Surface 对象没有位置。矩形的位置可以由关键字参数指定。例如,可以使用关键字参数 topleft
.
指定矩形的左上角
pygame.Rect
对象有多种虚拟属性:
The Rect object has several virtual attributes which can be used to move and align the Rect:
x,y
top, left, bottom, right
topleft, bottomleft, topright, bottomright
midtop, midleft, midbottom, midright
center, centerx, centery
size, width, height
w,h
你实际设置的是一个矩形的左上角,图片的大小:
self.img.get_rect(topleft = (self.x, self.y))
最后,通过读取center
属性得到这个矩形的中心点。由于图像的大小不为 0,因此 center
与 topleft
不同。
所以这是 pygame python 代码的两部分:
a = self.img.get_rect(topleft = (self.x, self.y))
print(a.topleft)
这段代码的输出是:
(200, 189)
另一个pygame代码:
a = self.img.get_rect(topleft = (self.x, self.y)).center
print(a)
这段代码的输出:
(234, 213)
注:The value of self.x is 200 and self.y is 200
所以现在我的问题是,在我们将 .center 放在 pygame rect object or the variable a
之后,当我打印 a 的值时,它会发生什么变化以及 pygame 之后的 .center 有什么作用rect对象呢?
pygame.Surface.get_rect.get_rect()
returns 具有 Surface 对象大小的矩形,但它 returns 始终从 (0 , 0) 因为 Surface 对象没有位置。矩形的位置可以由关键字参数指定。例如,可以使用关键字参数 topleft
.
pygame.Rect
对象有多种虚拟属性:
The Rect object has several virtual attributes which can be used to move and align the Rect:
x,y top, left, bottom, right topleft, bottomleft, topright, bottomright midtop, midleft, midbottom, midright center, centerx, centery size, width, height w,h
你实际设置的是一个矩形的左上角,图片的大小:
self.img.get_rect(topleft = (self.x, self.y))
最后,通过读取center
属性得到这个矩形的中心点。由于图像的大小不为 0,因此 center
与 topleft
不同。