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