Mail.ru
Почта
Мой Мир
Одноклассники
ВКонтакте
Игры
Знакомства
Новости
Календарь
Облако
Заметки
Все проекты
Все проекты
выход
Регистрация
Вход
Категории
Все вопросы проекта
Компьютеры, Интернет
Темы для взрослых
Авто, Мото
Красота и Здоровье
Товары и Услуги
Бизнес, Финансы
Наука, Техника, Языки
Философия, Непознанное
Города и Страны
Образование
Фотография, Видеосъемка
Гороскопы, Магия, Гадания
Общество, Политика, СМИ
Юридическая консультация
Досуг, Развлечения
Путешествия, Туризм
Юмор
Еда, Кулинария
Работа, Карьера
О проектах Mail
Животные, Растения
Семья, Дом, Дети
Другое
Знакомства, Любовь, Отношения
Спорт
Золотой фонд
Искусство и Культура
Стиль, Мода, Звезды
Полный список
Спросить
Лидеры
Поиск по вопросам
Ответы Mail
Программирование
Android
C/C++
C#
iOS
Java
JavaScript
jQuery
SQL
Perl
PHP
Python
Веб-дизайн
Верстка, CSS, HTML, SVG
Системное администрирование
Другие языки и технологии
Вопросы - лидеры.
ChatGPT Vision - рассчитать токены
1 ставка
Помогите, пожалуйста, решить это.
1 ставка
Лидеры категории
Лена-пена
Искусственный Интеллект
М.И.
Искусственный Интеллект
Y.Nine
Искусственный Интеллект
•••
Мне надо реализовать передвижение объекта 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") вроде так
Похожие вопросы
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)