Я пытаюсь сделать мраморную симуляцию в пигме (python 3.7.3) и пытаюсь получить столкновения между мрамором и компонентами. Основная проблема заключается в том, что методы обнаружения столкновений, которые я пробовал, - это не обнаружение изображения, а всего прямоугольника.
class Marble(pygame.sprite.Sprite):
def __init__(self,x,y,vx,vy,display,colours,image,ax,ay=2):
pygame.sprite.Sprite.__init__(self)
self.image = image
self.rect = self.image.get_rect()
self.image.set_colorkey((0,0,0,255))
self.mask = pygame.mask.from_surface(self.image,255)
def detect_collision(self,components):
if pygame.sprite.spritecollide(self,components,False,pygame.sprite.collide_mask):
return True`
class Masked_Component(pygame.sprite.Sprite):
def __init__(self,x,y,start,end,image,function):
pygame.sprite.Sprite.__init__(self)
self.x = x
self.y = y
self.start = start
self.end = end
self.image = image
self.function = function
self.rect = self.image.get_rect()
self.image.set_colorkey((0,0,0,255))
self.mask = pygame.mask.from_surface(self.image,255)`
Любая помощь будет признательна, и извините за грязный код.