Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 1.0/2.0 (http://www.flasher.ru/forum/forumdisplay.php?f=93)
-   -   hitTest к многим обьектам не прямоугольной формы (http://www.flasher.ru/forum/showthread.php?t=84135)

fromotherplanet 24.08.2006 14:23

это про BitmapData? Спасибо, почитаю.

Kyber Anton 24.08.2006 14:54

..."как обращаться к клипам с одинаковой частью имени"...
допустим, клипы зовут _root.b1 , _root.b2 , ... e.t.c
Код:

namefirst = "b"
for(var i=1;i<=maxclip;++i){
nameofclip = namefirst+i;
_root[nameofclip] //вот это обращение к мувику.
}


fromotherplanet 24.08.2006 15:00

Спасибо попробую, а не будет тормозить с большим количеством мувиков?

fromotherplanet 24.08.2006 15:40

нет, это не получается. скорее всего, дело в том, что сначала не одного мувика с таким именем нет.
вот, как я писал: может не правильно? В мувик
Код:

onClipEvent (enterFrame) {
namefirst = "luch"
for(var i=1;i<=maxclip;i++){
nameofclip = namefirst+i;
_root.test=this.hitTest(_root[nameofclip])
}}


fromotherplanet 24.08.2006 16:00

Нельзя ли как нибудь сделать так, чтабы мувики при создании , добавляли свои имена, куда-нибудь, а потом драгие мувики делали на эти имена hittest? если можно, то как?

CCCPirate 24.08.2006 16:49

Цитата:

Сообщение от fromotherplanet
Нельзя ли как нибудь сделать так, чтабы мувики при создании , добавляли свои имена, куда-нибудь, а потом драгие мувики делали на эти имена hittest? если можно, то как?

Код:

for (var mov in клип_в_котором_мувики) {
        if (this.hitTest(mov)) {
                trace('пересечение'+this._name+' и '+mov._name);
        }
}

вставь такой код в прототип твоих мувиков и усе

кстати если мувики неправильной формы хиттест апроксимирует их квадратом, т е если нужно реалное столкновение надо на мувик ставить точки- детекторы

fromotherplanet 24.08.2006 17:18

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

if(this.hitTest("1 имя в списке") or this.hitTest("2 имя в списке")...this.hitTest("последнее имя в списке")){a=1}
, а при удалении(при вылете за пределы экрана) удаляют своё имя из этого списка. вот как мне надо.
Такое возможно?Как?

fromotherplanet 24.08.2006 17:49

нашёл похожую проблему, поиск юзал не в ту сторону: юзал на hittest, а там русскими буквами, попросил там помоч. Чувствую, я эту флэшку не доделую, слишком много "запорок"...но кто поможет, с хиттестом буду очень благодарен...

CCCPirate 24.08.2006 18:05

Ну так и сделай for (var имя in _root) и он автоматом переберет все объекты в руте.

Зачем для них массив имен создавать?

fromotherplanet 24.08.2006 18:10

я пробовал, во первых- тормозит, во вторых- перебирает, даже те, что не надо...:(


Часовой пояс GMT +4, время: 15:54.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.