1 回答

TA貢獻1836條經(jīng)驗 獲得超13個贊
當您從表面創(chuàng)建蒙版時,表面是空的,因為圓圈是在表面上繪制的draw:
class Gameobject:
"""
Interactive objects with the game
"""
def __init__(self, coordinates, velocity, angle, radius, objectColor):
# [...]
self.surface = pygame.Surface((self.radius*2, self.radius*2), pygame.SRCALPHA)
self.rectangle = self.surface.get_rect(center=[self.x, self.y])
self.mask = pygame.mask.from_surface(self.surface)
def draw(self):
pygame.draw.circle(self.surface, self.objectColor, [self.radius, self.radius], self.radius)
.surface在的上繪制圓圈后,您必須創(chuàng)建蒙版Gameobject:
class Gameobject:
# [...]
def draw(self):
# draw circle on surface
pygame.draw.circle(self.surface, self.objectColor, [self.radius, self.radius], self.radius)
# create mask from surface with circle
self.mask = pygame.mask.from_surface(self.surface)
添加回答
舉報