![]() |
|
||||||||||
|
|||||||
|
|
« Предыдущая тема | Следующая тема » |
| Опции темы | Опции просмотра |
|
![]() |
![]() |
|
|||||
|
Регистрация: Aug 2012
Сообщений: 297
|
Здравствуйте.
![]() Есть объект MovieClip в нём два шара, которые отдалены друг от друга. Есть ещё один объект MovieClip, он гораздо меньше, чем предыдущий объект MovieClip и с легкостью влезет в область между двумя шарами. Стоит слушатель событий Event (enter_frame), где условие "hitTestObject". Оно проверяет столкновение между двумя этими объектами. Как сделать так, чтобы когда объект MovieClip, который меньше, находился между двумя шарами объекта MovieClip не считался "касанием". 0 = шар объекта MovieClip. 1 = объект, который меньше, чем предыдущий объект MovieClip. 0 1 0 — Касания нету. 1 - 0 — Касание есть. |
|
|||||
|
Как-бы столкновение шаров определяется по формуле:
public static function isRoundHitted(x0:Number, y0:Number, r0:Number, x1:Number, y1:Number, r1:Number):Boolean { var dx:Number = x1 - x0; var dy:Number = y1 - y0; return dx * dx + dy * dy < (r0 + r1) * (r0 + r1); } ![]() Да, и 3 шара ни кто не пытается рассматривать, обычно столкновения попарно обрабатывают. |
![]() |
![]() |
Часовой пояс GMT +4, время: 18:57. |
|
|
« Предыдущая тема | Следующая тема » |
|
|