Форум 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)
-   -   Очерёдность столкновения (http://www.flasher.ru/forum/showthread.php?t=112605)

fruct 03.06.2008 02:05

Очерёдность столкновения
 
Есть 4 объекта. Они летят в слу4айном порядке сверху вниз, долетают до какого-то момента и останавливаются (скажем падают на пол). Стоит зада4а перехватить, который из них прилетел первым, который вторым, который третим и который 4етвёртым..
Голова уже кипит, подскажите наиболее простой алгоритм пожалуйста :)

Vektor 03.06.2008 03:40

Есть два способа.
1. через hitTest().
2. по координатам.
Код:

//1способ. Если пол Мувик(mc2).
this.onEnterFrame = function() {
mc1.hitTest(mc2){
trace("столкновение ")
}
//2способ
if((mc1._y+mc1._height) == 400){
trace("столкновение. mc1")
}
}


olexandr 03.06.2008 15:05

изначально присвой номер каждому объекту, а при столкновениях записывай эти номера. в чем проблема?

Alex_beginner 03.06.2008 17:06

fruct! Думаю самым простым будет вариант №2, представленный Vektor'ом.

fruct 03.06.2008 20:41

или я не понял ход ваших мыслей, или вы меня до конца недопоняли :)
и мои 4 объекта мувики, и пол - мувик.
делаю хитТест, всё это понятно.
у меня может приземлиться первым как mc1, так и mc4, вторым например mc3.. вот мне нужно это знать, 4тобы дать 40 о4ков mc1, 30 о4ков - mc3, 20 о4ков - mc2 и 10 о4ков - mc4.
т.е. какой из 4-ёх приземлился первым, какой вторым и т.д.

пока расписывал придумал от такое %) :

на каждом объекте делаю хитТест с полом и проверяю, если например _глобал.приземлился_первым == undefined, тогда записываю его идентификатор в эту переменную. если же переменная уже не равна undefined, тогда лезем смотреть переменную _глобал.приземлился_вторым и делаем тоже самое..

Пойду пробовать, всем спасибо за помощь :)


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

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