PDA

Просмотр полной версии : Проверка пересечения мк


lukish
23.07.2008, 15:49
Здравствуйте рузья, есть вопрос:
в филме по всей площяди разставлены всякие препятствия, на гл. линейке создан массив prep со всеми именами "препятствий"
дальше в коде клипа который обходит все препятствия условия сталкивается ли динамичный клип с одним из препятствий
for (var i = 0; i<_root.prep.length; i++) {
if (_root.prep[i].hitTest(this)) {
_x = oldX;
_y = oldY;
rot.play();
ruki.play();
}
}
Загвоздка в том что он проверяет пересечения общего контура а не прлощадьтолько клипа, подскажите пожалуйсто как это исправить:)

Волгоградец
23.07.2008, 17:36
Если ты про boundingBox, то вот:
http://www.flasher.ru/forum/showthread.php?t=113458

lukish
24.07.2008, 08:57
нет я имею в виду myMovieClip.hitTest(x, y, shapeFlag), только я его немного недопонимаю, кто правельно разьеснит как работает (x, y, shapeFlag) чтобы проверка пересечения производилась только по фактической площяди клипа а не по прямоугольнику контура?

Волгоградец
24.07.2008, 10:20
myMovieClip.hitTest(x, y, shapeFlag)
проверяет пересечение клипа myMovieClip с координатой x, y.

Eric Gurt
25.07.2008, 00:44
хитТест проверяет либо точное пересечение точки и мувика, либо пересечение баундинг боксов двух мувиков. Другого он не делает. Больше никакая другая функция не делает таких проверок с мувиками.

В пересечении с точкой последний его параметр определяет пересечение будет с самим мувиком (true) или же его баундингбоксом (false).

iNils
25.07.2008, 01:19
Есть хитТест класса BitmapData, он проверяет на пиксельном уровне. Пример (http://www.flasher.ru/forum/showpost.php?p=752286&postcount=19)