[27]: Реакция на столкновение “Окружность – Окружность”

Это самый сложный для понимания урок, но я попытался объяснить его и расписать максимально подробно и понятно.:) Я не занимался тестированием. Хотя нет, вру, немного занимался. Тот косяк со временем, я пробовал его исправить тремя способами. Первый – умножить время на 0.99. Второй – удалить границы в клипах с шарами. Помогало, но не всегда. Третий – в шаре сделать прозрачную подкладку с радиусом больше шара. Тоже помогает не всегда. Когда буду собирать бильярд, посмотрю как будет работать. может надо будет умножить на 0.99999 :)

В этом уроке вам понадобятся знания:
из урока 1 (тригонометрия) для построения проекций,
из урока 17 (независимое от кадров определение столкновения окружностей)
из урока 26 (законы сохранения импульса и энергии)

Осуществление реакции на столкновение окружностей реализуется по следующему алгоритму:

27_01

Дальше приведены формулы по которым осуществляется алгоритм реакции на столкновение двух окружностей:

27_02

А лучше посмотрите видео, тут я всё подробно объяснил :)

Исходник: yadi.sk/d/BifDaki9B7Rbs

В рабочей области располагаются 3 мувиклипа с шарами разного цвета. Их имена ball1, ball2, ball3.

Код ActionScript 3.0, который используется в данном видеоуроке:

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

Комментарии
  1. Max

    Странно но при одновременном соприкосновении 3 и более кругов они проходят сквозь друг друга. Как это можно исправить?

Добавить комментарий

Ваш 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="">