![]() |
|
||||||||||
|
|
|
|||||
|
Регистрация: Feb 2012
Сообщений: 10
|
Начал писать игру со стрельбой, врагами, как водится... И заметил, что цикл, просчитывающий попадания сильно тормозит игру, так как врагов с таким скриптом генерируется много. Как можно решить эту проблему?
вот такой цикл: Заранее спасибо ) Последний раз редактировалось mooncar; 16.03.2012 в 00:48. |
|
|||||
|
Модрон-ветеринар
|
Код нужно выделять тегами, а не рамочкой. Это правило.
PS. Поправьте табуляции у кода. Да и вообще одна скобка потеряна.
__________________
Идите первым! Последний раз редактировалось mooncar; 16.03.2012 в 01:04. |
|
|||||
|
Регистрация: Aug 2010
Сообщений: 282
|
Используй вместо цикла onEnterFrame
|
|
|||||
|
Регистрация: Feb 2012
Сообщений: 10
|
э... ну а как тут onEnterFrame использовать для проверки столкновений объекта с другими объектами? ) просто я хочу узнать тормозит сам цикл вычисляющий или hitTest ...
|
|
|||||
|
Модрон-ветеринар
|
Что значит "тормозит сам цикл"?
Цикл сам по себе не может "тормозить". Это просто проверка условия цикла и принятие решения о выполнении некого алгоритма повторно. Еще могут быть высконагруженными операции, которые в нем производятся. Но та же проверка на hitTest у вас выполняется всего 20 раз, если судить по приведенному вами неряшливому обрывку. Другое дело, если запуск цикла производится с частотой fps, то есть 20 и выше раз в секунду, в том же обработчике onEnterFrame. Если вы проверяете, как летят, например, пули, то возможно, что это и имеет место. Или же ежесекундно запускается множество таких циклов. Но об этом тут ничего не известно. Если судить по этому коду, то можно сказать, что с ним все ок.
__________________
Идите первым! Последний раз редактировалось mooncar; 16.03.2012 в 20:25. |
|
|||||
|
Регистрация: Feb 2012
Сообщений: 10
|
уфф... да, ежесекундно запускается множество таких циклов. Как бы Вы предложиди изменить эту ситуацию? )
|
|
|||||
|
Модрон-ветеринар
|
Наверное, я лично - никак, сам несколько раз использовал такой способ, но объектов было мало, так что альтернативы не алкал.
Но тема поднимается часто на форуме - попробуйте поискать, в т.ч. и в ветке AS3. Основная идея одного из решений - не проверять hitTest, а попросту вычислять, будет перекрытие, или нет, основываясь на известности траекторий и очертаний. Это гораздо менее ресурсоемко.
__________________
Идите первым! |
|
|||||
|
Регистрация: Feb 2012
Сообщений: 10
|
Цитата:
https://sites.google.com/site/ekonom...tvoznanie/rrra |
![]() |
![]() |
Часовой пояс GMT +4, время: 17:32. |
|
|
« Предыдущая тема | Следующая тема » |
|
|