![]() |
|
||||||||||
|
|
|
|||||
|
Регистрация: Apr 2011
Сообщений: 13
|
Доброго времени суток. У меня вот какой вопрос : добавляются объекты на сцену, объекты двигаются, в разных направлениях, а потом некоторые останавливатся, а некоторые двигаются или все останавливаются. Движение объектов по средством Event.ENTER_FRAME (через Timer мне не подходит). Код большой, приводить не буду, хочу узнать - может у кого есть какие соображения (может кто сталкивался с подобным) в каком направлении работать???
|
|
|||||
|
Регистрация: Jan 2009
Адрес: Петерсбург
Сообщений: 1,882
|
В чем вопрос заключается?
|
|
|||||
|
Регистрация: Apr 2011
Сообщений: 13
|
Почему останавливаются объекты??? Такое впечатление, что Event.ENTER_FRAME для остановившихся объектов больше не доступен.
Последний раз редактировалось ndez; 04.06.2011 в 15:43. |
|
|||||
|
Регистрация: Mar 2007
Сообщений: 545
|
Цитата:
private function botsTimer_timer(e:TimerEvent):void { bot = new Bot(main); if (Bot.botLoad == 10) { bTimer.stop(); } } Ну и советую обрабатывать всех ботов в одном ENTER_FRAME, а не плодить его для каждого бота. |
|
|||||
|
Регистрация: Jan 2009
Адрес: Петерсбург
Сообщений: 1,882
|
Потому что где-то косяк в вашем коде.
|
|
|||||
|
Регистрация: Apr 2011
Сообщений: 13
|
Логично. Я пишу игруху. На сцену добовляю ботов - порядка 10 - двигаются - потом остановились. За это время я не каких действий не произвожу. Время остановки спонтанное (примерно через минуту - две). Дальше полет пуль- вроде летят, но иногда застывает на месте, может через минуту, может через пять такое произойти, а может и не произойти. При этом дальше стреляет и другие пули летят и умирают потом как положено. Попробую пример коротенький сделать.
|
|
|||||
|
Регистрация: Jan 2009
Адрес: Петерсбург
Сообщений: 1,882
|
Оч классно. Но без кода хз как вам помочь.
|
|
|||||
|
Регистрация: Apr 2011
Сообщений: 13
|
Вот такой код подсократил, для примера, здесь объекты останавливаются через 1-7 минут. Обычно через 4-5 минут.
|
|
|||||
|
Регистрация: Apr 2011
Сообщений: 13
|
Это первая моя игрушка, много чего не знаю. Это пример, реально ботов много видов и появляются они спонтанно. И количество их больше 10. Десять - я ограничил, что бы одновременно были на сцене, но при этом таймер не останавливается, а просто не появляются на сцене новые боты. Как только становится меньше - снова появляются. Но стоит оставить без движения и поражения ботов игрушку(а иногда и в процессе игры) - останавливаются боты.
Опять же если убрать классы пуль и оставить в данном примере только летающие боты - то в течении 10 минут они точно не останавливаются(дальше ждать не стал). Или в данном случае garbage collector просто не срабатывает??? Попробую массив, ботов конечное число, а вот как быть с пулями??? В данном примере нормально летают, а в реальном пули ботов и пули героя порой также зависают. И эти объекты доступны - об зависшие пули взрываются боты или уменьшается жизнь героя. И они удаляются со сцены когда значение контенер.numChild-1 соответствует данному объекту, но на это требуется время и соответственно появление новых пуль. И еще хотел спросить - в процессе игры загрузка ЦП составляет примерно 20-30%(увеличивается постепенно) - мне кажется это много??? Последний раз редактировалось ndez; 06.06.2011 в 06:24. |
|
|||||
|
Регистрация: Mar 2007
Сообщений: 545
|
Цитата:
Цитата:
Загрузка зависит от характеристик ЦП. Для начала, как я уже писал, вынесите все обработки Event.ENTER_FRAME из ботов и пуль, например, в общий менеджер объектов. |
![]() |
![]() |
Часовой пояс GMT +4, время: 03:58. |
|
|
« Предыдущая тема | Следующая тема » |
|
|