PDA

Просмотр полной версии : hitTest для клипов в двух массивах


Micar
16.07.2006, 17:14
Добрый день!

Есть прямоуголные клипы, хаотично плавно двигающиеся.

сверху на них "падают капли" - клипы маленького диаметра (3-4пикс)

первые в одном массиве (создаются циклом), вторые - во втором, "капель" всего три, они потом возвращаются наверх, откуда опять "капают", и т.д.

пытаюсь сделать так, чтобы при пересечении капли и прямоугольника, последний "выпадал", падал вниз, через hitTest, таким образом:

в цикле, где создаются капли и где прописано их движение вниз через EnterFrame, вновь создаю цикл с тем же количеством итераций, что и цикл создающий прямоугольники, и запускаю проверку HitTest

if(this.hitTest(arr[n]) {
arr[n].onEnterFrame = function() {
//упади, прямоугольник!
}
}

но
(1) падает не тот, на который попала "капля",
(2) и вообще - через раз!

что-то я не так делаю... :) а вот что? и как с этим бороться?
то ли капли слишком маленькие и быстро летят (это может мешать? )
то ли hitTest я как-то не так проверяю...

заранее спасибо всем кто сможет чего присоветовать :)

silin
16.07.2006, 20:03
попробуй смотреть хиттест прямоугольников с _x,_y капель:
if( arr[n].hitTest(this._x,this._y,true){..

Usnul
17.07.2006, 03:22
я думаю проблема в скорости движения относительно скорости обработки события, грубо говоря: пересечение проверяется тогда, когда капля уже миновала зону пересечения. Решается проблема путем математического расчета момента пересечения, тоесть мы просто вычисляем "когда" капля стукнет прямоугольник. есть еще метод, более навороченный. В аттаче исходник который использует этот метод.