![]() |
hitTest для клипов в двух массивах
Добрый день!
Есть прямоуголные клипы, хаотично плавно двигающиеся. сверху на них "падают капли" - клипы маленького диаметра (3-4пикс) первые в одном массиве (создаются циклом), вторые - во втором, "капель" всего три, они потом возвращаются наверх, откуда опять "капают", и т.д. пытаюсь сделать так, чтобы при пересечении капли и прямоугольника, последний "выпадал", падал вниз, через hitTest, таким образом: в цикле, где создаются капли и где прописано их движение вниз через EnterFrame, вновь создаю цикл с тем же количеством итераций, что и цикл создающий прямоугольники, и запускаю проверку HitTest Код:
if(this.hitTest(arr[n]) {(1) падает не тот, на который попала "капля", (2) и вообще - через раз! что-то я не так делаю... :) а вот что? и как с этим бороться? то ли капли слишком маленькие и быстро летят (это может мешать? ) то ли hitTest я как-то не так проверяю... заранее спасибо всем кто сможет чего присоветовать :) |
попробуй смотреть хиттест прямоугольников с _x,_y капель:
if( arr[n].hitTest(this._x,this._y,true){.. |
Вложений: 1
я думаю проблема в скорости движения относительно скорости обработки события, грубо говоря: пересечение проверяется тогда, когда капля уже миновала зону пересечения. Решается проблема путем математического расчета момента пересечения, тоесть мы просто вычисляем "когда" капля стукнет прямоугольник. есть еще метод, более навороченный. В аттаче исходник который использует этот метод.
|
| Часовой пояс GMT +4, время: 18:43. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.