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

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

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

Регистрация: Sep 2010
Сообщений: 16
По умолчанию тормозит сайт

Здравствуйте Господа флешеры!
Прошу сильно ногами не бить, иль хотябы, не по лицу!))
Лучше подскажите в чем виноват))

Тут находится то - с чего я начал изучать мир Флеша!
http://file.qip.ru/file/Gr7VygiK/Site.html

Сайт моему другу (работает только второе подменю) остальное пока не написано!

Столкнулся с проблемой - после многократного нажатия клавиш сайт начинает потихоньку тормозить и дальше больше!

Я явно что то упустил.

Вот функция нажатия кнопки и вызова внешнего SWF

Код AS3:
function SMenuClick3(event:MouseEvent):void {
       if (MemuSC != 3){   //условие чтобы второй раз кнопка не нажималась
              MemuSC = 3;
              MenuBeep.play();
              RtSub1_1.alpha = RtSub1_2.alpha = RtSub1_4.alpha = RtSub1_5.alpha = RtSub1_6.alpha = RtSub1_7.alpha = RtSub1_8.alpha = RtSub1_9.alpha = 0;
              RtSub1_3.alpha = 1; // объекты которые акцентируют внимание на кнопке (типа такие соты крутящиеся)
 
              // тут начинается подгрузка файла
              var req1:URLRequest = new URLRequest("s03.swf");
              var loader1:Loader = new Loader();
 
              addChild (loader0); //поставить анимацию лоадинга
              addChild (loader1);
              loader0.alpha = 0;
              loader1.alpha = 0;
              loader1.x = 224.9;
              loader1.y = 146,9;
 
              loader1.addEventListener(Event.ENTER_FRAME, sl01);	
              loader1.contentLoaderInfo.addEventListener(Event.COMPLETE, fileLoaded1);
              loader1.contentLoaderInfo.addEventListener(ProgressEvent.PROGRESS, preLoad1);
              loader1.load(req1);
 
              function sl01(EVENT:Event):void{
                            if (loader0.alpha == 0){
                            loader0.alpha += 0.1;
 
                                          if (loader0.alpha >= 1){
                                                        loader1.removeEventListener (Event.ENTER_FRAME, sl01);
		}}}
 
              function fileLoaded1 (event:Event):void {
                            loader1.removeEventListener (Event.ENTER_FRAME, sl01);
                            loader1.alpha = 0;
                            loader0.alpha = 1;
                            loader1.addEventListener(Event.ENTER_FRAME, bebe1);
              }
 
              function bebe1 (EVENT:Event):void{
                            trace (tq);
                            loader1.alpha += .2;
                            loader0.alpha -= .2;
 
                            if (loader1.alpha >= 1)
                            {
                                          loader0.alpha = 0;
                                          loader1.removeEventListener (Event.ENTER_FRAME, bebe1)
                                          loader1.removeEventListener (Event.ENTER_FRAME, sl01);
              }}
 
              function preLoad1 (event:ProgressEvent):void {
}}}
спасибо за внимание))


Последний раз редактировалось Макс1977; 03.09.2010 в 19:16.
Старый 03.09.2010, 14:04
alatar вне форума Посмотреть профиль Отправить личное сообщение для alatar Найти все сообщения от alatar
  № 2  
Ответить с цитированием
alatar
 
Аватар для alatar

блогер
Регистрация: Dec 2008
Адрес: Israel, Natanya
Сообщений: 4,740
Записей в блоге: 11
Оформите код соответствующими тегами, а не как цитату. Поставьте отступы. Вряд ли кто-то захочет это хотя бы просмотреть, пока оно в таком виде.

Старый 03.09.2010, 14:47
incvizitor вне форума Посмотреть профиль Отправить личное сообщение для incvizitor Найти все сообщения от incvizitor
  № 3  
Ответить с цитированием
incvizitor
 
Аватар для incvizitor

блогер
Регистрация: Sep 2008
Адрес: Менск
Сообщений: 586
Записей в блоге: 1
Отправить сообщение для incvizitor с помощью Skype™
И отступы не мешало бы расставить в коде.
__________________
ranga

Старый 03.09.2010, 19:20
Макс1977 вне форума Посмотреть профиль Отправить личное сообщение для Макс1977 Найти все сообщения от Макс1977
  № 4  
Ответить с цитированием
Макс1977

Регистрация: Sep 2010
Сообщений: 16
Вроде все исправил. Особо не ругайте. В программировании, в целом, это мои первые шаги. И спросить рядом нет никого, но есть огромно желание.

Но похоже я и нашел ответ. Объекты я загружаю, но не выгружаю.. от сюда и перегруз.

Ищу способ решить... пробую то - что нашел тут
Код AS3:
		var i:int = Container.numChildren;
		while (i--)
		{
			trace (Container.getChildAt(i));
			Container.removeChild(Container.getChildAt(i));
		}

Старый 03.09.2010, 19:59
alatar вне форума Посмотреть профиль Отправить личное сообщение для alatar Найти все сообщения от alatar
  № 5  
Ответить с цитированием
alatar
 
Аватар для alatar

блогер
Регистрация: Dec 2008
Адрес: Israel, Natanya
Сообщений: 4,740
Записей в блоге: 11
Не забудьте предварительно удалить слушателей с удаляемых объектов и остановить все анимации и звуки, если они присутствуют в этих объектах.

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

Регистрация: Aug 2008
Адрес: Рязань
Сообщений: 723
Код AS3:
Container.removeChild(Container.getChildAt(i));
лучше заменить на

Код AS3:
Container.removeChildAt(i);
а вобще большинство думаю пользуется таким способом:

Код AS3:
while(Container.numChildren)
{
     Container.removeChildAt(0);
}
давайте будем называть переменные с маленькой буквы
__________________
low +


Последний раз редактировалось Jewelz; 03.09.2010 в 20:04.
Старый 03.09.2010, 20:05
leofit вне форума Посмотреть профиль Отправить личное сообщение для leofit Найти все сообщения от leofit
  № 7  
Ответить с цитированием
leofit
 
Аватар для leofit

Регистрация: Dec 2009
Сообщений: 428
Упс, опередили =)
Код AS3:
while(Container.numChildren > 0) {
    Container.removeChildAt(0);
}
так красивее и быстрее
А еще учтите, что, хотя Вы и убираете объекты с экрана, они окончательно исчезнут тогда, когда в виртуальной машине вызовется сборка мусора, и исчезнут при том условии, что на эти объекты не ссылается что либо

а еще у лоадера есть метод unload()

а еще старайтесь всегда давать осмысленные имена функциям и переменным
__________________
Скажи мне кто твой друг и я скажу тебе кто твой друг

Старый 03.09.2010, 20:24
Макс1977 вне форума Посмотреть профиль Отправить личное сообщение для Макс1977 Найти все сообщения от Макс1977
  № 8  
Ответить с цитированием
Макс1977

Регистрация: Sep 2010
Сообщений: 16
Все понял, соблюдать "гигиену", выгружать то, что загрузил, писать с маленькой буквы.

Век живи, век учись.

Спасибо большое всем) Попробую все!
(загорелся сильно)

Старый 03.09.2010, 22:35
Котяра вне форума Посмотреть профиль Отправить личное сообщение для Котяра Посетить домашнюю страницу Котяра Найти все сообщения от Котяра
  № 9  
Ответить с цитированием
Котяра
буду краток
 
Аватар для Котяра

модератор форума
Регистрация: Sep 2003
Адрес: Ближайшее Замкадье
Сообщений: 3,110
Записей в блоге: 28
Отправить сообщение для Котяра с помощью ICQ Отправить сообщение для Котяра с помощью Skype™
писать не с маленькой буквы, а набрать в гугле as3 coding convention
__________________
Отряд Котовскага

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

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

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


 


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


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