![]() |
Реакция на столкновение квадратов. Помогите доработать код.
Привет. Пытаюсь понять, как реализовать реакцию на столкновение квадратов (отскок).
Прошу вашей консультации т.к. не всё проходит гладко. Что необходимо сделать, чтобы просчитать траекторию отскока: 1. Определить по какой оси делать отскок (x или y). Нахожу расстояние между 2-мя квадратами по x и по y. Если расстояние по x больше чем по y, значит столкновение по оси x и отскок будет по этой оси. Аналогично с y. Код: Код AS3:
Если rect1 догоняет rect2 (скорость rect1 > скорости rect2) - отскок осуществляет только rect1 в противоположную сторону, а rect2 как летел так и летит. Код: Код AS3:
Ощущение кривизны кода портит настроение. Подскажите, пожалуйста, где я не прав и как это исправить? Хочется понять принцип. За ранее спасибо. |
А почему у rect1 берется directionX а у rect2- directionY? И при отскоке у одного меняется vx, а у второго - vy? А также чем отличаются speedX и vx?
|
Я опечатался. В реальном коде сравнивается так:
Код AS3:
Я поправил это в посте выше, чтобы не смущало. |
| Часовой пояс GMT +4, время: 04:46. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.