PDA

Просмотр полной версии : рассылка сообщений всем объектам


UginL7
25.04.2012, 18:01
Доброго времени суток! Столкнулся с такой проблемой. Есть поле, на нём лежат карты у каждой карты есть свойства( типа жизнь и броня). Если одна карта накладывается на другую(перетаскивается при помощи мышки), то может произойти, например, увеличение жизни или наоборот уменьшение.

Вопрос - Как такое реализовать?!

Пробовал при отпускании мышки посылать событие (в цикле всем остальным картам, пока так не делал т.к. мне кажется можно как-то по другому это реализовать), чтобы проверить hitTestPoint(координаты карты которую перетащили) всеми другими картами. Создаю своё сообщение, дёргаю dispathEvent своего события и как положено проверка происходит только у той карты, которую тягал. А как можно разослать всем другим картам событие?! Потом та картра у которой будет перекрытие, т.е. hitTestPoint вернёт true, изменит свои показатели.

Вопрос - как сделать розсылку всем картам события кроме цикла? (Если можно то с коротким примерчиком!)

Заранее благодарен!

amesqit
25.04.2012, 18:43
Зачем всем ото всех отправлять событие? Получается количество карт во второй степени событий, да и чем цикл не нравится? Только отправлять в нем события не стоит. Если можете через цикл отправлять события, значит карты храните в массиве, если храните в массиве то обойдя массив можете определить пересечение карт с перетаскиваемой картой, а если определили пересечение карт, то можете вызвать функцию обработки пересечения карт какую-нибудь dropCardToOverCard(dropCard:Card, overCard:Card);

UginL7
25.04.2012, 18:47
хм... Хорошая идея! Надо пропробовать! Спасибо! Попробую - отпишусь!
Только пока я не дрежу список карт в массиве. Но всё едино, хотел их туда помещать!