PDA

Просмотр полной версии : Вопрос про функции


Волгоградец
24.09.2007, 16:55
Привет. Извините за ламерский вопрос. Допустим, есть два клипа - оба движутся, но с разной скоростью:
mc_1.onEnterFrame = function (){
this._x += 5;
if (this._currentframe == this._totalframes) this.stop ();
delete this.onEnterFrame;
}

mc_2.onEnterFrame = function (){
this._x += 10;
if (this._currentframe == this._totalframes) this.stop ();
delete this.onEnterFrame;
}

Вопрос: вот две одинаковые функции - разное только изменение скорости и название клипов. Как мне написать ее один раз, а потом просто вызвать для каждого клипа? Спасибо!

Мыкыта
24.09.2007, 17:06
вводим атрибут speed и при вызове прописываем атрибут =))

function myFunc (speed, my_mov:MovieClip){
my_mov._x += speed;
if (my_mov._currentframe == my_mov._totalframes) my_mov.stop ();
delete my_mov.onEnterFrame;
}

вызываем

this.onEnterFrame = function() {
myFunc(5, this);
}

Волгоградец
24.09.2007, 17:28
Ясно. Т.е. в скобках прописываем те переменные, которые меняются. Спасибо!!!

CrazyFlasher
24.09.2007, 17:35
те, которые не меняются - не переменные, а константы ;-)

udaaff
24.09.2007, 21:58
Можно так:
mc_1.onEnterFrame = genFunc(5)
mc_2.onEnterFrame = genFunc(10)

function genFunc(velocity){
return function () {
this._x += velocity;
if (this._currentframe == this._totalframes) this.stop ();
delete this.onEnterFrame;
}
}