Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Сообщения за день
 

Вернуться   Форум Flasher.ru > Flash > ActionScript 3.0

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 04.06.2011, 15:29
ndez вне форума Посмотреть профиль Отправить личное сообщение для ndez Найти все сообщения от ndez
  № 1  
Ответить с цитированием
ndez

Регистрация: Apr 2011
Сообщений: 13
По умолчанию Объекты останавливаются на сцене

Доброго времени суток. У меня вот какой вопрос : добавляются объекты на сцену, объекты двигаются, в разных направлениях, а потом некоторые останавливатся, а некоторые двигаются или все останавливаются. Движение объектов по средством Event.ENTER_FRAME (через Timer мне не подходит). Код большой, приводить не буду, хочу узнать - может у кого есть какие соображения (может кто сталкивался с подобным) в каком направлении работать???

Старый 04.06.2011, 15:35
Bgg вне форума Посмотреть профиль Отправить личное сообщение для Bgg Найти все сообщения от Bgg
  № 2  
Ответить с цитированием
Bgg
 
Аватар для Bgg

Регистрация: Jan 2009
Адрес: Петерсбург
Сообщений: 1,882
В чем вопрос заключается?

Старый 04.06.2011, 15:41
ndez вне форума Посмотреть профиль Отправить личное сообщение для ndez Найти все сообщения от ndez
  № 3  
Ответить с цитированием
ndez

Регистрация: Apr 2011
Сообщений: 13
Почему останавливаются объекты??? Такое впечатление, что Event.ENTER_FRAME для остановившихся объектов больше не доступен.


Последний раз редактировалось ndez; 04.06.2011 в 15:43.
Старый 04.06.2011, 15:44
Bgg вне форума Посмотреть профиль Отправить личное сообщение для Bgg Найти все сообщения от Bgg
  № 4  
Ответить с цитированием
Bgg
 
Аватар для Bgg

Регистрация: Jan 2009
Адрес: Петерсбург
Сообщений: 1,882
Потому что где-то косяк в вашем коде.

Старый 04.06.2011, 15:53
ndez вне форума Посмотреть профиль Отправить личное сообщение для ndez Найти все сообщения от ndez
  № 5  
Ответить с цитированием
ndez

Регистрация: Apr 2011
Сообщений: 13
Логично. Я пишу игруху. На сцену добовляю ботов - порядка 10 - двигаются - потом остановились. За это время я не каких действий не произвожу. Время остановки спонтанное (примерно через минуту - две). Дальше полет пуль- вроде летят, но иногда застывает на месте, может через минуту, может через пять такое произойти, а может и не произойти. При этом дальше стреляет и другие пули летят и умирают потом как положено. Попробую пример коротенький сделать.

Старый 04.06.2011, 15:55
Bgg вне форума Посмотреть профиль Отправить личное сообщение для Bgg Найти все сообщения от Bgg
  № 6  
Ответить с цитированием
Bgg
 
Аватар для Bgg

Регистрация: Jan 2009
Адрес: Петерсбург
Сообщений: 1,882
Оч классно. Но без кода хз как вам помочь.

Старый 06.06.2011, 04:35
ndez вне форума Посмотреть профиль Отправить личное сообщение для ndez Найти все сообщения от ndez
  № 7  
Ответить с цитированием
ndez

Регистрация: Apr 2011
Сообщений: 13
Вот такой код подсократил, для примера, здесь объекты останавливаются через 1-7 минут. Обычно через 4-5 минут.
Вложения
Тип файла: rar zxc - копия (2).rar (24.5 Кб, 48 просмотров)

Старый 06.06.2011, 05:21
andrew911 вне форума Посмотреть профиль Отправить личное сообщение для andrew911 Найти все сообщения от andrew911
  № 8  
Ответить с цитированием
andrew911

Регистрация: Mar 2007
Сообщений: 545
Цитата:
Сообщение от ndez Посмотреть сообщение
Почему останавливаются объекты??? Такое впечатление, что Event.ENTER_FRAME для остановившихся объектов больше не доступен.
Это объекты недоступны становятся, вы нигде не сохраняете на них ссылку и их подчищает garbage collector

Код AS3:
private function botsTimer_timer(e:TimerEvent):void 
{
	bot = new Bot(main);
	if (Bot.botLoad == 10)
	{
		bTimer.stop();
	}
}
Заносите их например в массив

Код AS3:
private var bots:Array = [];
...
 
bot = new Bot(main);
bots.push(bot);
Ну и советую обрабатывать всех ботов в одном ENTER_FRAME, а не плодить его для каждого бота.

Старый 06.06.2011, 06:02
ndez вне форума Посмотреть профиль Отправить личное сообщение для ndez Найти все сообщения от ndez
  № 9  
Ответить с цитированием
ndez

Регистрация: Apr 2011
Сообщений: 13
Это первая моя игрушка, много чего не знаю. Это пример, реально ботов много видов и появляются они спонтанно. И количество их больше 10. Десять - я ограничил, что бы одновременно были на сцене, но при этом таймер не останавливается, а просто не появляются на сцене новые боты. Как только становится меньше - снова появляются. Но стоит оставить без движения и поражения ботов игрушку(а иногда и в процессе игры) - останавливаются боты.

Опять же если убрать классы пуль и оставить в данном примере только летающие боты - то в течении 10 минут они точно не останавливаются(дальше ждать не стал). Или в данном случае garbage collector просто не срабатывает???

Попробую массив, ботов конечное число, а вот как быть с пулями??? В данном примере нормально летают, а в реальном пули ботов и пули героя порой также зависают. И эти объекты доступны - об зависшие пули взрываются боты или уменьшается жизнь героя. И они удаляются со сцены когда значение контенер.numChild-1 соответствует данному объекту, но на это требуется время и соответственно появление новых пуль.

И еще хотел спросить - в процессе игры загрузка ЦП составляет примерно 20-30%(увеличивается постепенно) - мне кажется это много???


Последний раз редактировалось ndez; 06.06.2011 в 06:24.
Старый 06.06.2011, 09:35
Cornford вне форума Посмотреть профиль Отправить личное сообщение для Cornford Найти все сообщения от Cornford
  № 10  
Ответить с цитированием
Cornford

Регистрация: Oct 2009
Сообщений: 174
У меня тоже такое было я делал движения тоннеля через твин стандартный флешевский. через пару минут он останавливался. потом стал использовать TweenMax проблема решилась. Кроме того лучше всего использовать кэш менеджер для создания объектов тогда их не надо будет каждый раз создавать занова.

Создать новую тему Ответ Часовой пояс GMT +4, время: 09:53.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


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


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