![]() |
hitTestPoint без цикла проверки детей
на сцене к примеру есть мувик "pole"
в нем дофига других мувиков (мелких кружков) проверка поставленна только на pole Код AS3:
(чтоб к примеру удалить конкретный мувик из pole) * без включения цикла - не проходясь проверкой по кадому чайлду ** и не включая проверку в сами чайлды |
MouseEvent.MOUSE_OVER # e.target
|
а если объект не MOUSE?
к примеру у меня 10 других объектов 10 "стрел" на сцене 1 000 000 "яблок" внутри "pole" опятьже интересует проверка столкновения "стрела" и "pole" и уж потом только узнать с которым из "яблок" именно столкнулся но так чтоб не проверять в цикле каждое "яблоко" п.с. спасибо за быстрый ответ на счет мыши - тоже пригодится |
Цитата:
|
ну не мышь будет участвовать в событие!
нет четкого задания я просто для себя пытаюсь понять - можно или нет к примеру летает куча стрел и сшибает яблоки внутри "pole" мышка вообще не причём нужно узнать при хиттесте "pole" какого именно яблока каснулась стрела если не возможно то я так понимаю придется включать цикл на повторную проверку каждого из яблок ну или же в яблоки писать проверку на столкновение со стрелами просто хотел узнать можно ли обойтись без этих заморочек? |
DisplayObjectContainer#getObjectsUnderPoint()
|
спасибо! то что надо!
правдо долгое время не мог исправит все баги ведь метод выдавал самый нижний объект и вместо MovieClip падал до самого низа до векторного Shape Object а для таких как "Я" попытаюсь объяснить решение: Код AS3:
|
А если objects[0].parent окажется другим шейпом или спрайтом?
|
ну поделитесь как тогда поступить?
я подозреваю, что должна быть реализована проверка на тип объекта если знаете как опишите пожалуйста данную проверку ну и на всякий случай метод удаления со сцены объектов не являющихся MovieClip-ами |
Ну как-то так (с коленки):
Код AS3:
|
| Часовой пояс GMT +4, время: 04:06. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.