У меня есть 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()