English Version            Русская версия

 [ Разделы сервера ]  [ Карта сервера ]  [ Новости сервера ] [ Обратная связь ]



Одним из таких типов является столкновение линии с линией; когда две линии пересекаются, они в большинстве случаев не двигаются, что означает, что нам не нужно использовать для них независимое от кадров обнаружение столкновений. Но для некоторых ситуаций, таких как столкновения, окружность-линия или окружность-окружность, независимое от кадров обнаружение столкновений является необходимым для быстрых игр, вроде бильярда или пинбола. Обнаружение столкновения точки с окружностью Мы начнем демонстрацию математического обнаружения столкновения с одного из простейших типов. Хорош пример, где мы можем использовать обнаружение столкновения точки с окружностью, это игра дарц (стрелки). Наконечником дарца является точка, а мишень состоит из набора концентрических окружностей. Так как же мы определяем, совпала ли точка с окружностью? Представьте, что у вас два клипа: окружность и точка. Предположим, точка привязки клипа с окружностью является действительным центром окружности. Поскольку точка и окружность являются клипами, вы можете легко определить позиции обоих. Также, используя уравнение расстояния, выведенное в Главе 3, «Тригонометрия 101» (и перечисленные ниже в ActionScript), мы знаем, что мы можем найти расстояние между точкой и окружностью. С этой информацией мы можем записать одно условие, которое определяет, имело ли место столкновение: Если расстояние между точкой и центром окружности меньше, чем радиус окружности, то точка попала в окружность. POINT1 ТОЧКА1 Radius Радиус POINT2 ТОЧКА2 Point1: Distance from center<radius; therefore they are colliding Точка1: Расстояние от центра<радиус следовательно они пересекаются Point1: Distance from center>radius; therefore they are not colliding Точка2: Расстояние от центра>радиус следовательно они не пересекаются Обратите внимание, что радиус окружности составляет половину ее ширины. Чтобы посмотреть наглядно все выше описанное, откройте файл point_circle
Hosted by uCoz