PDA

Просмотр полной версии : Как запустить эту функцию для нескольких мувиков


petrochenko1981
23.03.2006, 18:26
У меня есть на глвном поле три клипа и есть функция, которая меняет у них alpha по синусойде. Как сделать так, чтобы эту функцию можно было бы применять для всех клипов. Почемуто она применяется только для одного мувика, а для других не канает. Помогите плиииииииз.

mc_3._alpha = 100;
var speed = 30;

function test(out:Boolean) {
param = mc_3._alpha;
checks=0;
var interval = setInterval(function () {
if (out)
{
if ((mc_3._alpha < 100)&&(checks<>1)){
param++;
} else {
param--;
}
if (param>=100) {
checks=1;
}
if (param<=0) {
checks=0;
}

n=(param/100)*(Math.PI/2);
param1=Math.sin(n)*100;
mc_3._alpha = param1;
}
}, speed);
}
Вот так вот её запускаю.
test(true);

Если прописать всё тоже самое для второго мувика, то почемуто работает только на первом мувике. На второй она забивает.

Andromed
23.03.2006, 19:06
используй prototype, и ты не правильно используешь метод setInterval, кто ее за тебя останавливать будет, я особо не разбирался как у тебя считается прозрачность, используй как основу

mc1.speed = 1;
mc2.speed = 2;
mc3.speed = 3;
MovieClip.prototype.test = function() {
this.interval = setInterval(function (mc:MovieClip) {
mc._alpha -= mc.speed;
if (mc._alpha<=0) {
clearInterval(mc.interval);
}
}, this.speed, this);
};
mc1.test();
mc2.test();
mc3.test();