PDA

Просмотр полной версии : Оптимизация кода


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
Только не бейте :))))
Извинтиляюсь за пример... он не много не для этого был
Скопировал код и поправил под ситуацию не задумываясь

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