PDA

Просмотр полной версии : Как удалить анимацию?


IrInKa
26.12.2012, 15:54
Подскажите пожалуйста как удалить анимацию и продолжить выполнение клипа.
У меня следующая проблема: Есть струя воды, которая выливается из брансбойта, она должна течь на протяжении 25 кадров, а затем исчезнуть совсем, при этом ролик продолжается дальше.
Мне удалось остановить струю воды, но она так в замершем состоянии и остается в кадре.
В первом кадре следующий код:

// Переменная, хранящая текущее время
var t:Number = 0;
// В прототипе конструктора MovieClip определяем метод обработчика событий. Этот метод будет унаследован всеми экземплярами клипов
MovieClip.prototype.onEnterFrame = function() {
// В струе воды должны участвовать только клипы, представляющие капли, т.е. клипы, имя которых будет начинаться с букв "mc"
if (this._name.substr(0, 2) == "mc") {
// Горизонтальное смещение
this._x = Math.round(Math.random() * 314);
// Вертикальное положение
this._y = 32;
// Приращение времени
t += 0.1;
// При выходе капли за пределы рабочей области
if (this._y > 60 || this._x > 468 || this._x < 0) {
// Вновь помещаем каплю вправо
this._y = 32;
// Позиционируем каплю по горизонтали
this._x = 314;
}
}
};
// Создаем капли и размещаем их в случайных координатах по вертикали и по горизонтали
for (var i = 0; i < 100; i++) {
this.attachMovie("mc", "mc" + i, i, {
_x:Math.round(Math.random() * 468),
_y:Math.round(Math.random() * 60)
});
// Задаем каплям случайные размеры
this["mc" + i]._xscale = this["mc" + i]._yscale = Math.round(Math.random() * 20 + 20);
// Для каждой капли определяем скорость ее истекания, исходя из ее размера и добавляя элемент случайности
this["mc" + i].speed = this["mc" + i]._xscale / (Math.random()*5 + 10);
// Для каждой капли сохраняем ее начальную горизонтальную координату
this["mc" + i].initX = this["mc" + i]._x;
// Для каждой капли устанавливаем степень прозрачности, исходя из е размера
this["mc" + i]._alpha = this["mc" + i]._xscale;
}



В 25 кадре следующий код


delete MovieClip.prototype.onEnterFrame;