As2 - Za Duzo Koda!

Status
Zamknięty.

Arcane

Czarująca Anomalia
Weteran
Redakcja
Dołączył
11.11.2003
Posty
1613
Robie banner dla promo-akcji jednego z naszych produktow. Zdecydowalem napisac wszystko (wlacznie z animacja!) w Action Script 2.
Wszystko chodzi pieknie, ladnie i skladnie. Problema jednak nie w tym. Chce zmniejszyc, przepisac ten kod tak, zeby uzywac jak najmnie "for loop", tak jak to zbedne cykli dla procesora. Jesli ktos sie zna, prosze o podpowiedz : ]

Kod:
stop();
//атвор: Сергеев С.С.
//НИЧЕГО ПОЖАЛУЙСТА НЕ МЕНЯТЬ!!!

//импорт классов
import mx.transitions.Tween; 
import mx.transitions.easing.*;
//только цифры
var gTo = 20;
var gBk = -150;
var gTim = 15;
var rgT = -427;
var btPl = 220;
//массив
var themes = new Array(_astro,_sport,_math,_geo,_history);
var shap = new Array(_r1,_r2,_r3,_r4);
var allBut = new Array(_bh1,_bh2,_bh3,_bt1,_bt2,_bt3,_bj1,_bj2,_bj3,_bv1,_bv2,_bv3,_bo1,_bo2,_bo3);
var allWrong = new Array(_bt1,_bt3,_bj1,_bj2,_bh2,_bh3,_bv2,_bv3,_bo2,_bo3);
var allRight = new Array(_bt2,_bj3,_bh1,_bv1,_bo1);
var allQuest = new Array(_quest1,_quest2,_quest3,_quest4,_quest5);
var allLast = new Array(_enctx,_bok,_mor,_det,_bkdesc);
for(a=0;a<allWrong.length;a++){
		allWrong[a].onRelease = function(){
			if(_quest1._x == -39 || _quest2._x == -12 || _quest3._x == -29 || _quest4._x == -35 || _quest5._x == -15 || allWrong[a]._y == btPl){
			hideAllAll();callEncy()}else{stop();}}
}
for(b=0;b<allQuest.length;b++){
	allQuest[b]._ntru._alpha=0;
}
//функции с темами
for(i=0;i<themes.length;i++){
	tm = themes[i];
	//при наведении...
	tm.stop(); tm.onRollOver = function(){this.gotoAndStop(2)}; tm.onRollOut = function(){this.gotoAndStop(1);}
		//la grande entrance
 		tm.onEnterFrame = function(){
		if(this._x != gTo){
		var xMove:Tween = new Tween(this,"_x",Back.easeOut,this._x,gTo,gTim,false);
		delete this.onEnterFrame;}}
	//убираем
	hideAll = function(){for(n=0;n<themes.length;n++){var xMoveF:Tween = new Tween(themes[n],"_x",Back.easeIn,themes[0]._x,gBk,gTim,false)}}};
	hideAllAll = function(){hideAll();
							for(j=0;j<shap.length;j++){
							var yMoveP:Tween = new Tween(shap[j],"_y",Back.easeIn,shap[j]._y,-150,gTim,false);
							}
							for(w=0;w<allBut.length;w++){
							var yMoveP:Tween = new Tween(allBut[w],"_y",Back.easeIn,allBut[w]._y,450,gTim,false)
							}
							for(v=0;v<allQuest.length;v++){
							var yMoveP:Tween = new Tween(allQuest[v],"_y",Back.easeIn,allQuest[v]._y,450,gTim,false)
							}
							for(f=0;f<allRight.length;f++){
							if(allRight[f]._y != btPl){
							var yMoveZ:Tween = new Tween(_next,"_y",Back.easeIn,_next._y,450,gTim,false);
							var yMoveZ:Tween = new Tween(_dont,"_y",Back.easeIn,_dont._y,450,gTim,false)}}
	}
//не знаю и далее уход/заход
callDont = function(){var yMoveZ:Tween = new Tween(_dont,"_y",None.easeInOut,_dont._y,260,gTim*3,false)};
hideAndCall = function(){for(f=0;f<allRight.length;f++){
							if(allRight[f]._y == btPl){
							 var yMoveZ:Tween = new Tween(_dont,"_y",None.easeIn,_dont._y,360,gTim*3,false);
							 var yMoveZ:Tween = new Tween(_next,"_y",None.easeInOut,_next._y,260,gTim*3,false)}}}
//
callEncy = function(){var yMoveC:Tween = new Tween(_enctx,"_y",None.easeInOut,_enctx._y,3,gTim*3,false);
					 var yMoveC:Tween = new Tween(_bok,"_y",None.easeInOut,_bok._y,100,gTim*3,false);
					 var yMoveC:Tween = new Tween(_soon,"_y",None.easeInOut,_soon._y,245,gTim*3,false);
					 var yMoveC:Tween = new Tween(_mor,"_y",None.easeInOut,_mor._y,275,gTim*3,false);
					 var yMoveC:Tween = new Tween(_det,"_y",None.easeInOut,_det._y,275,gTim*3,false);
					 var xMoveC:Tween = new Tween(_bkdesc,"_x",None.easeInOut,_bkdesc._x,0,gTim*3,false);
					 clearInterval(Interv);
					 }

//заход шапки
_r1.onEnterFrame = function(){var xMoveC:Tween = new Tween(this,"_x",None.easeInOut,this._x,11,6,false)}
_r2.onEnterFrame = function(){var xMoveC:Tween = new Tween(this,"_x",None.easeInOut,this._x,100,6,false)}
_r3.onEnterFrame = function(){var xMoveC:Tween = new Tween(this,"_x",None.easeInOut,this._x,10,6,false)}
_r4.onEnterFrame = function(){var xMoveC:Tween = new Tween(this,"_x",None.easeInOut,this._x,94,6,false)}
//выибираем астрлогию
_astro.onRelease = function(){var xMoveF:Tween = new Tween(_quest1,"_x",Back.easeOut,_quest1._x,-39,gTim*3,false);
								asAr = new Array(_bt1,_bt2,_bt3);
								for(z=0;z<asAr.length;z++){
								var yMoveF:Tween = new Tween(asAr[z],"_y",Back.easeOut,asAr[z]._y,btPl,gTim*3,false);
								hideAll();callDont();}}
//верный ответ на астрологию
_bt2.onRelease = function(){hideAndCall();if(_bt2._y == btPl){var xMoveS:Tween = new Tween(_quest1,"_x",Back.easeOut,_quest1._x,rgT,gTim*3,false)}else{stop()}}
//выибираем историю
_history.onRelease = function(){var xMoveF:Tween = new Tween(_quest2,"_x",Back.easeOut,_quest2._x,-12,gTim*3,false);
								hsAr = new Array(_bh1,_bh2,_bh3);
								for(z=0;z<hsAr.length;z++){
								var yMoveF:Tween = new Tween(hsAr[z],"_y",Regular.easeOut,hsAr[z]._y,btPl,gTim*3,false);
								hideAll();callDont();}}
//верный ответ на историю
_bh1.onRelease = function(){hideAndCall();if(_bh1._y == btPl){var xMoveS:Tween = new Tween(_quest2,"_x",Back.easeOut,_quest2._x,rgT,gTim*3,false)}else{stop()}}
//выибираем спорт
_sport.onRelease = function(){var xMoveF:Tween = new Tween(_quest3,"_x",Back.easeOut,_quest3._x,-29,gTim*3,false);
								spAr = new Array(_bj1,_bj2,_bj3);
								for(z=0;z<spAr.length;z++){
								var yMoveF:Tween = new Tween(spAr[z],"_y",Back.easeOut,spAr[z]._y,btPl,gTim*3,false);
								hideAll();callDont();}}
//верный ответ на спорт
_bj3.onRelease = function(){hideAndCall();if(_bj3._y == btPl){var xMoveS:Tween = new Tween(_quest3,"_x",Back.easeOut,_quest3._x,rgT,gTim*3,false)}else{stop()}}
//выибираем географию
_geo.onRelease = function(){var xMoveF:Tween = new Tween(_quest4,"_x",Back.easeOut,_quest4._x,-35,gTim*3,false);
								spAr = new Array(_bv1,_bv2,_bv3);
								for(z=0;z<spAr.length;z++){
								var yMoveF:Tween = new Tween(spAr[z],"_y",Back.easeOut,spAr[z]._y,btPl,gTim*3,false);
								hideAll();callDont();}}
//верный ответ на географию
_bv1.onRelease = function(){hideAndCall();if(_bv1._y == btPl){var xMoveS:Tween = new Tween(_quest4,"_x",Back.easeOut,_quest4._x,rgT,gTim*3,false)}else{stop()}}
//выибираем географию
_math.onRelease = function(){var xMoveF:Tween = new Tween(_quest5,"_x",Back.easeOut,_quest5._x,-15,gTim*3,false);
								spAr = new Array(_bo1,_bo2,_bo3);
								for(z=0;z<spAr.length;z++){
								var yMoveF:Tween = new Tween(spAr[z],"_y",Back.easeOut,spAr[z]._y,btPl,gTim*3,false);
								hideAll();callDont();}}
//верный ответ на географию
_bo1.onRelease = function(){hideAndCall();if(_bo1._y == btPl){var xMoveS:Tween = new Tween(_quest5,"_x",Back.easeOut,_quest5._x,rgT,gTim*3,false)}else{stop()}}
//не знаем ответа?
_dont.onRelease = function(){_root.gotoAndPlay(2)};
_mor.onRelease = function(){_root.gotoAndPlay(2)};
_det.onRelease = function(){getURL(_root.link1,"_blank")};
_next.onRelease = function(){hideAllAll();callEncy();}
 
Status
Zamknięty.
Do góry Bottom