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

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

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему  
Старый 07.08.2012, 09:05
elder_Nosferatu вне форума Посмотреть профиль Отправить личное сообщение для elder_Nosferatu Найти все сообщения от elder_Nosferatu
  № 2  
Ответить с цитированием
elder_Nosferatu
 
Аватар для elder_Nosferatu

Регистрация: Nov 2010
Адрес: 48° 55'N 24° 42'E GMT +2:00
Сообщений: 399
Записей в блоге: 1
Эх...
....
Все маты-перематы я уже написал, а потом удалил. Нервы мои немного успокоились. Перейдем к делу.

Все ваши частици (они же Спрайты) занимают много памяти, все их твинеры тоже не подарочки... Все создания экземпляров классов занимают время. Теперь умножим эти расходы на 100 (предел количества частиц) и получим внушительный результат. Но если не ограничить количество частиц, тогда все нормально - ваш ролик сожрет все ресурсы и либо плеер его "выплюнет", либо вы сами его выключите (возможно даже через диспетчер задач если сильно зависнет), так что это безобразие долго не продлится

С вашим кодом не особо знакомился, но могу сказать одно - "ПЛОХО".

Подойдите к задаче следующим образом:
Создаете все, что связано с частцей кждий раз, пока длинна массива частиц не будет равна максимальному их количеству. Если уже достаточно, тогда выбрасываете из массыва частиц првую, ту что с индексом "0" (Array#shift()), переопределяете ее параметры и добавляете ее в конец массива (Array#push()). Таким образом у вас не только расход памяти не превысит заданый димит, но и тратиь процессорное время на создание новой частици не прийдется!

Также посоветовал бы создать отдельный класс для частицы, который умеет начинать "жизнь" (в вашем коде это рисование круга определенного радиуса, установка определенной прозрачности, назначение начальных координат и т.д.), собственно жить (у вас - твинить свое положение) и умирать (останавливать твиннер, удалять нарисованный круг, сбрасывать прозрачность).
Потом создадите класс коллекции частиц, который будет их создавать, назначать им стартовые параметры существования, следить за количеством частиц и по необходимости брать самую старую, убивать ее и воскрешать с новыми параметрами.

Конечно, в итоге получится больше кода, но он будет понятнее и не будеть жрать больше ресурсов, чем положено.

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

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

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


 


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


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