[20]: Обнаружение столкновений “Окружность-Линия”

Приветствую вас, ребята и девчонки :) Сегодня продолжается серия уроков по обнаружению столкновений в action script 3.0. :) Расписывать подробно я  как обычно не буду, всё ооочень чётко изложено в видеоуроке. Здесь я распишу лишь алгоритм на основе которого всё работают.

При разработке игр очень важно знать о том, как обнаружить пересечение окружности с линией МЕЖДУ КАДРАМИ с помощью action script 3.0. Это может пригодится в таких играх как пинбол, бильярд, гольф. хоккей и т.д. В этом уроке вы научитесь писать математически сложный код обнаружения столкновений “окружность-линия” НЕЗАВИСИМОЕ от кадров! Если вам непонятно, посмотрите предыдущие уроки.

Для того чтобы определить столкновение окружности с линией нужно проделать  действия:

20_1

Математические расчеты координат окружности в момент касания с линией.

20_2

Математические расчеты координат точки касания окружности с линией.

20_3

Обо всём этом (и не только этом) смотрите в видеоуроке ниже:

Исходник: yadi.sk/d/q9phrT_IF48fe
Код ActionScript 3.0 из урока:

Всё подробно рассказано в видео :) Если будут какие-либо вопросы, пишите в комментариях к видео. Надеюсь, данный урок по реализации скорости в action script 3.0 в программе adobe flash, поможет вам в разработке игр. :)

Комментарии
  1. Дмитрий

    Да не работает же код, вы что. У меня шар просто проходит через линию и выводится надпись что точки контакта нет! Как так то вообще. Скажите зачем мы делаем эту проверку xk=line.x2, если точка контакта меньше координаты начала отрезка или больше координаты конца, то она никак не попадает в отрезок. Смысл в этой проверке какой?

    • admin

      Всё работает правильно. Ответ тот же. Либо толстые линии, либо точка привязки не по левому краю у линий. Все проверки нужны.

Добавить комментарий для Дмитрий Отменить ответ

Ваш e-mail не будет опубликован. Обязательные поля помечены *

Можно использовать следующие HTML-теги и атрибуты: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code class="" title="" data-url=""> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> <pre class="" title="" data-url=""> <span class="" title="" data-url="">