Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   Общие вопросы о Flash (не затрагивающие ActionScript) (http://www.flasher.ru/forum/forumdisplay.php?f=60)
-   -   Оптимизация кода (http://www.flasher.ru/forum/showthread.php?t=73900)

CREDO 06.01.2006 15:44

Оптимизация кода
 
Как ниженаписанный код можно записать короче.


var stars:Number = new Number();
one_mc.onPress = function(){
stars = 1;
};
two_mc.onPress = function(){
stars = 2;
};
three_mc.onPress = function(){
stars = 3;
};
four_mc.onPress = function(){
stars = 4;
};
five_mc.onPress = function(){
stars = 5;
};

silin 06.01.2006 17:39

Код:

var stars:Number;
for(var i=1,clips=[null,one_mc,two_mc,three_mc,four_mc,five_mc];i<6;i++) {
        clips[i].i=i;
        clips[i].onPress=function(){stars=this.i};
}


CREDO 07.01.2006 14:10

clips[i].i=i;

не разберу, как работает эта строка.

silin 07.01.2006 14:19

да как написано, так и работает: добавляем клипу свойство i (а нужно оно, чтоб знать какую величину присвоить stars в onPress)

nouba 22.02.2006 13:59

2silin
Не согласен :)
Строка
Код:

clips[i].i=i;
там нафиг не нужна как по мне
Все это можно написать и так
Код:

var stars:Number;
var mss:Array = [one_mc,two_mc,three_mc,four_mc,five_mc];
for($a=0;$a<5;$a++){
 this[mss[$a]].onPress = function(){stars=this.$a+1;}
}

Впринципе тоже что и у тебя но как по мне более читаемо ;)

Double 22.02.2006 15:02

nouba, а ты проверил свой код? точно работает? когда произойдёт это самое onPress, каким будет значение твоего "а"?
делаю так же, как silin. вешаю доп. свойство на объект, которое уже никуда не убежит.

Antares 22.02.2006 15:05

Все кнопки в примере Нубы будут открывать что? 5ю ссылку :)

nouba 22.02.2006 17:36

Только не бейте :))))
Извинтиляюсь за пример... он не много не для этого был
Скопировал код и поправил под ситуацию не задумываясь

Еще разок извините...
Антареса попрошу удалить мой пост


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

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