![]() |
|
||||||||||
|
|||||||
|
|
« Предыдущая тема | Следующая тема » |
| Опции темы | Опции просмотра |
|
![]() |
![]() |
|
|||||
|
Регистрация: Jan 2007
Адрес: Узбекистан, Ташкент
Сообщений: 450
|
Привет всем!
Вобщем ситуация такая : Я создаю игру, где мне нужно проверять пересечение 2 объектов - пули с именем "gun"+gun_number где gun_number всегда меняется, и "enemy"+i где i тоже переменная. Как мне проверить их пересечение????? Единственное что я придумал - это проверять их из самого клипа enemy на пересечение с клипом guns где куда и копируются все пули. Но код получается уж больно ресурсоёмкий. Если кто делал что-то подобное помогите плиз. ![]()
__________________
Peace !!! |
|
|||||
|
Регистрация: Jul 2007
Сообщений: 1
|
Попробуй использовать for...in.
|
|
|||||
|
Я уже давал совет, написать код на хиттест внутри мувика пули. И не надо заморачиваться.
__________________
"We Are The Champions My Friends!" Queen |
|
|||||
|
Регистрация: Jan 2007
Адрес: Узбекистан, Ташкент
Сообщений: 450
|
2 diviniz : я не нашол иам для себя ничего полезного.
2 три двери : через цыклы это тоже слишком будет жрать память, врагов будет по 7-8 зараз, а пуль еще больше 2 CorC : я писал код внутри пули, но 1)Это слишком ресурсоёмко,2)нужно знать еще и с каким врагом столкнулась пуля. Но всем спаибо за попытку помоч.
__________________
Peace !!! |
|
|||||
|
Регистрация: Mar 2002
Адрес: https://webhamster.ru
Сообщений: 107
|
В любом случае, тебе придется проверять на столкновение координаты каждой пули с координатами каждого врага. Хоть ты это будешь делать в цикле, хоть это будет происходить автоматически через hitTest().
Хотя, чего там, ~8 врагов, ~20 пуль, всего 8 x 20 = 160 проверок, умножим на 4 потому что по OX две проверки делать и по OY две проверки, итого 640 проверок. Для флеша в таком количестве проверить number - вообще незаметно. А формально, сделать менее ресурсоемко - это идти на ухищрения, группировать пули и объекты по условному месторасположению. Например разбить игровое поле на 9 условных прямоугольников 3x3 1 2 3 4 5 6 7 8 9 и для каждой пули и врага хранить номер зоны, в которой они находятся. И никогда не делать проверку для пули и врага, которые находятся в разных зонах. Проверять столкновения только тех пуль и врагов, которые принадлежат одной зоне. Алгоритм получится навороченней, но работать будет шустрее. При большом количестве объектов почуствуешь выигрышь. |
|
|||||
|
Регистрация: Jan 2007
Адрес: Узбекистан, Ташкент
Сообщений: 450
|
Спасибо, через недели мучений может и придумаю как это сделать)))
Если ты сам такое делал пожалуйста подскажи поподробнее. У меня на 4 врага и 2 пули уже виснет. У мня азу 512 а проц 2.4, так что это не от компьютера.Может я со скриптом слегка намудрил, незнаю но виснет заметно очень.
__________________
Peace !!! |
|
|||||
|
Регистрация: Mar 2002
Адрес: https://webhamster.ru
Сообщений: 107
|
Я такое только на сях делал. На флеше не пробовал. Но тебе тут каждый скажет, что ты что-то со скриптом намудрил. 4 врага и 2 пули - чего там тормозить то может?
Совет - запусти swf отдельно в флешплейере и посмотри, не увеличивается ли у процесса потребляемая память в ходе работы. Если все время растет - точно намудрил. Если не растет, то какие-то у тебя дикие циклы которые проверяют неизвестно что. |
|
|||||
|
Регистрация: Jan 2007
Адрес: Узбекистан, Ташкент
Сообщений: 450
|
Ну у меня не просто hitTest а поточечное сканирование.
У мня не виснет до появления 2 пули, а после её появления начинается.
__________________
Peace !!! |
|
|||||
|
Регистрация: Jan 2007
Адрес: Узбекистан, Ташкент
Сообщений: 450
|
ну хоть ктонибудь ХЕЛП!!
__________________
Peace !!! |
![]() |
![]() |
Часовой пояс GMT +4, время: 02:20. |
|
|
« Предыдущая тема | Следующая тема » |
|
|