Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

Мне надо реализовать передвижение объекта pygame вот код, можете улучшить так, чтобы rect двигался а не стоял на месте

help please Ученик (82), на голосовании 3 месяца назад
class DraggableObject:
def __init__(self, image_path, x, y, sc_width, sc_height):
self.image = pygame.image.load(image_path)
self.rect = self.image.get_rect(topleft=(x, y))
self.sc_width = sc_width
self.sc_height = sc_height
self.moving = False

def handle_event(self, event):
if event.type == pygame.MOUSEBUTTONDOWN and event.button == 1:
if self.rect.collidepoint(event.pos):
self.moving = True
# Сохраняем смещение между позицией мыши и углом rect
self.offset_x = self.rect.x - event.pos[0]
self.offset_y = self.rect.y - event.pos[1]
elif event.type == pygame.MOUSEMOTION:
if self.moving:
# Обновляем позицию rect с учетом смещения
mouse_x, mouse_y = event.pos
self.rect.x = mouse_x + self.offset_x
self.rect.y = mouse_y + self.offset_y
elif event.type == pygame.MOUSEBUTTONUP and event.button == 1:
self.moving = False

def draw(self, sc):
sc.blit(self.image, self.rect)
Голосование за лучший ответ
Geparrrda Ученик (132) 4 месяца назад
print("ne delay igry na pitone") вроде так
Похожие вопросы