我有 10 个精灵,它们是我用不同图像和起始位置等编写的主要精灵的对象。但它们的行为方式都相同。它们是主精灵的子精灵。
我希望能够在一个人的矩形上按住鼠标单击并在屏幕上移动它,这非常好。但问题是它们都有相同的控件单击并拖动以移动它们。因此,如果我单击其中一个精灵矩形并将其拖动到另一个精灵矩形上,它也会将其拾起。我不希望这种情况发生。
有没有办法只检查与最上面的前景矩形的碰撞,或者是否有人可以解释一种可以达到类似结果的方法。我查看了 rect 文档,但找不到解决方案。
def update(self,):
self.move(self.rect)
def move(self,rect):
if pygame.mouse.get_pressed() == (1, 0, 0) and the_rect.collidepoint(pygame.mouse.get_pos()):
self.state = 1
elif pygame.mouse.get_pressed() == (0, 0, 0) and the_rect.collidepoint(pygame.mouse.get_pos()):
self.state = 0
if self.state == 0:
the_rect.centerx = the_rect.centerx
the_rect.centery = the_rect.centery
elif self.state == 1:
(the_rect.centerx, the_rect.centery) = pygame.mouse.get_pos()