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

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

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 08.03.2010, 14:35
sogologo вне форума Посмотреть профиль Отправить личное сообщение для sogologo Найти все сообщения от sogologo
  № 1  
Ответить с цитированием
sogologo
[+4 19.02.09]

Регистрация: Dec 2007
Адрес: Красноярск
Сообщений: 71
По умолчанию Оптимизация кода

Всем привет ещё раз.

Подскажите пожалуйста, как оптимизировать данный код?? А то я так и не научился грамотно пользоваться array, и вроде всё создаю и ни чего ( не идёт

Вот такая ситуация у меня, у меня 130 одинаковым по структуре объектов и на них одинаковый функционал, от 1 до 130 счет.

вот такой код допустим. как его оптимизировать??? направте ПЖЛ меня! у вас всегда это получалось!

если прошу много, как вы считаете ) то в долгу не останусь, дам на пива с плюшками

Код AS1/AS2:
//DOM_122
dom_122.onRelease = function() {
	des_122._alpha=0;
	des_123._alpha=0;
	des_124._alpha=0;
 
	des_122._alpha=100;
 
	des_122.close_but.onRelease = function() {
		des_122._alpha=0;
		}
}
 
dom_122.onRollOver = function() {
	dom_122.but._alpha=50;
}
dom_122.onRollOut = function() {
	dom_122.but._alpha=0;
}
 
 
//DOM_123
dom_123.onRelease = function() {
	des_122._alpha=0;
	des_123._alpha=0;
	des_124._alpha=0;
 
	des_123._alpha=100;
 
	des_123.close_but.onRelease = function() {
		des_123._alpha=0;
		}
}
 
dom_123.onRollOver = function() {
	dom_123.but._alpha=50;
}
dom_123.onRollOut = function() {
	dom_123.but._alpha=0;
}
 
 
//DOM_124
dom_124.onRelease = function() {
	des_122._alpha=0;
	des_123._alpha=0;
	des_124._alpha=0;
 
	des_124._alpha=100;
 
	des_124.close_but.onRelease = function() {
		des_124._alpha=0;
		}
}
 
dom_124.onRollOver = function() {
	dom_124.but._alpha=50;
}
dom_124.onRollOut = function() {
	dom_124.but._alpha=0;
}

Старый 08.03.2010, 14:48
in4core вне форума Посмотреть профиль Отправить личное сообщение для in4core Найти все сообщения от in4core
  № 2  
Ответить с цитированием
in4core
[+4 06.05.14]
 
Аватар для in4core

Регистрация: Mar 2009
Сообщений: 4,219
Записей в блоге: 14
Код AS1/AS2:
var arr = [1,2,3,......130];
for(var i=0; i<arr.length; i++) {
   arr[i].onRelease = function() {}
}
Первый метод убогий)
____________________
Второй метод не муторный.
Код AS1/AS2:
var i=1;
var arr=[];
while(i<130) {
      arr.push("dom"+i)
      ++i;
}
for(var i=0; i<arr.length; i++) {
   arr[i].onRelease = function() {}
}

Старый 08.03.2010, 14:50
sogologo вне форума Посмотреть профиль Отправить личное сообщение для sogologo Найти все сообщения от sogologo
  № 3  
Ответить с цитированием
sogologo
[+4 19.02.09]

Регистрация: Dec 2007
Адрес: Красноярск
Сообщений: 71
и прям работает??? нука посмотри

Старый 08.03.2010, 14:50
in4core вне форума Посмотреть профиль Отправить личное сообщение для in4core Найти все сообщения от in4core
  № 4  
Ответить с цитированием
in4core
[+4 06.05.14]
 
Аватар для in4core

Регистрация: Mar 2009
Сообщений: 4,219
Записей в блоге: 14
В твоем случае если ты совсем новечок добавлю, что у тебя должно быть как то так
Код AS1/AS2:
arr.push(_level0["dom"+i]);
Могу конечно ошибаться. Если не катит, тоесть кнопки не работают проверь
Код AS1/AS2:
trace(typeof arr[0]);
Добавлено через 54 секунды
Вообщем механику я дал. дальше сам. Это вообще вопрос ниже даже среднего.

Старый 08.03.2010, 14:55
sogologo вне форума Посмотреть профиль Отправить личное сообщение для sogologo Найти все сообщения от sogologo
  № 5  
Ответить с цитированием
sogologo
[+4 19.02.09]

Регистрация: Dec 2007
Адрес: Красноярск
Сообщений: 71
хм разбежался я короче! ) я думал это законченный скрипт

на сколько я понимаю это то направление )

слушайте, ну я понял что тут подставляется кнопка имя кнопки dom от 1 до 130.

как этот я вопрос у себя решил, когда решил оптимизировать это всё дело.


а что вставлять в
Код AS1/AS2:
arr[i].onRelease = function() {}
???
Как видите у меня там тоже не всё просто в этом и есть суть проблемы, как элемент des_ обнулить а потом определенному выставить опять значение 100?

плюс там ещё есть

Код AS1/AS2:
des_123.close_but.onRelease = function() {
		des_123._alpha=0;
		}

Старый 08.03.2010, 15:02
in4core вне форума Посмотреть профиль Отправить личное сообщение для in4core Найти все сообщения от in4core
  № 6  
Ответить с цитированием
in4core
[+4 06.05.14]
 
Аватар для in4core

Регистрация: Mar 2009
Сообщений: 4,219
Записей в блоге: 14
Это порнография! Что забред делать Release в Release ? Нде это видано где это слыхано)))).

Предлогаю : Вопервых. Создать еще один цикл но уже для вторых релисов, и при нажатии на первый релис делать проверку типа булен.

как то так :
Код AS1/AS2:
var bb=false;
 
dom_123.onRelease = function() { 
     catch(TWO_123,true);
}
function catch(mc,bul) {
        if(bul) { mc.onRelease = f; }
}
function f() { type u release}

Старый 08.03.2010, 15:04
sogologo вне форума Посмотреть профиль Отправить личное сообщение для sogologo Найти все сообщения от sogologo
  № 7  
Ответить с цитированием
sogologo
[+4 19.02.09]

Регистрация: Dec 2007
Адрес: Красноярск
Сообщений: 71
ну тут не решается проблема ЦИФР то есть в этом и суть чтобы избавится от нумерации всех мувиков

ну а что вы хотели, я в циклах не бум бум вообще

Старый 08.03.2010, 15:04
in4core вне форума Посмотреть профиль Отправить личное сообщение для in4core Найти все сообщения от in4core
  № 8  
Ответить с цитированием
in4core
[+4 06.05.14]
 
Аватар для in4core

Регистрация: Mar 2009
Сообщений: 4,219
Записей в блоге: 14
И еще
Код AS1/AS2:
dom_124.onRelease = function() {
	des_122._alpha=0;
	des_123._alpha=0;
	des_124._alpha=0; // ЭТО че за охренеть не встать?
 
	des_124._alpha=100; // когда есть ЭТО!!!
Добавлено через 1 минуту
Товарищ если вы не бум бум. то надо учится, читать книги. мы тоже раньше ничего не знали. Мы же не можем все написать за вас? Можем конечно но за деньги )))))))) Но вам то самому не стыдно будет?

Старый 08.03.2010, 15:10
sogologo вне форума Посмотреть профиль Отправить личное сообщение для sogologo Найти все сообщения от sogologo
  № 9  
Ответить с цитированием
sogologo
[+4 19.02.09]

Регистрация: Dec 2007
Адрес: Красноярск
Сообщений: 71
так я вот и учусь так сказать на примере старших )))

два раза потому что как раз и задумался об использовании цикла

Старый 08.03.2010, 15:17
in4core вне форума Посмотреть профиль Отправить личное сообщение для in4core Найти все сообщения от in4core
  № 10  
Ответить с цитированием
in4core
[+4 06.05.14]
 
Аватар для in4core

Регистрация: Mar 2009
Сообщений: 4,219
Записей в блоге: 14
Вы не понимаете что такое циклы? Давай те я вам объясню на примерах. чтобы знали в след раз !

Цикл for рассматривает значения от одного предела до другого. Представтьте что есть линия от А до пункта Б. между пунктами есть множество подпунктов типа А1.А2 и т.д. Но основные для нас это А и Б. В отличие от остальных методов циклы пролетают незаметно с огромной скростью в доли милесекунд.

пример :
Код AS1/AS2:
 for(var A=-20(первое значение), A<200(предел), A++(обозначаем то что к начальному значению будет прибавлятся каждый раз единица пока не дойдет до предела)) { ваши действия}
Цикл while, если перевести в простонародие ПОКА. Тоесть ПОКА некоторое значение (<,>, ! и т.д.) какого то другого значения, то ВЫПОЛННЯЕМ условия.

пример
Код AS1/AS2:
var d=0;
while(d<20) { действие; d++ }

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

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

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


 


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


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