Просмотр полной версии : обнаружение класса
ЗлОй ПрОграММер
13.01.2011, 12:51
Есть два класса, как сделать так чтобы если экземпляр первого класса попадал в зону видимости второго класса, то выводились бы его координаты(зона видимости радиус)
Так простая математика.
var dx:int = mc2.x - mc1.x;
var dy:int = mc2.y - mc1.y;
if (Math.sqrt(dx*dx + dy*dy) < 15) {
trace(mc1.x, mc1.y);
}
Все это по enterFrame проверяется или по таймеру, как угодно.
passertm
13.01.2011, 14:14
А что за клас?
Он круглый, квадратный? Вероятнее всего придется сделать хит тестом если он сложной формы или форма меняется.
ЗлОй ПрОграММер
13.01.2011, 14:30
класс сложной формы, насчёт хит теста почитаю.
КорДум, а как быть если имена экземпляров неизвестны ?
канешно можно вбить все экземпляры в массив и проверять их по очереди(находятся ли они в зоне видимости), а нет другого способа ?
КорДум, а как быть если имена экземпляров неизвестны ?
Тогда вы неправильно проектируете код ;)
Вам поможет метод сетки. Прочтите вот здесь: http://www.flasher.ru/forum/showthread.php?t=83431
ЗлОй ПрОграММер
13.01.2011, 14:41
а как сделать такой класс который бы показывал какие экземпляры и каких классов находяться на сцене и сколько их ?? это помогло б мне написать свой код, статью почитаю)
При создании объекта закидывайте его в массив. При уничтожении - убивайте запись о нем из массива. Ну можете оформить это дело в класс, скажем, DispatcherObject с паблик методами добавления и удаления.
ЗлОй ПрОграММер
13.01.2011, 14:46
за статью спасибо, как раз похожую игру пытаюсь сделать ))
Вероятнее всего придется сделать хит тестом если он сложной формы или форма меняется.
По-моему, hitTestObject реагирует как раз на прямоугольник, в который вписана фигура любой сложности.
passertm
13.01.2011, 15:15
Я с ним давно работал. Но кажется мне там есть параметр который указывает реагировать на прямоугольник или именно в фигуру.
Вот подумалось. все обьекты с которыми нужно проверить касание можно собрать в один спрайт и проверять HitTest с этим спрайтом. но думаю стоит посмотреть в линке который дал КорДум.
Думаю там есть более практичные решения.
Но кажется мне там есть параметр который указывает реагировать на прямоугольник или именно в фигуру.
hitTestPoint
Работает на vBulletin ® версия 3.7.3. Copyright ©2000-2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Copyright © 1999-2008 Flasher.ru. All rights reserved.