IrInKa
26.12.2012, 13:32
Подскажите пожалуйста как убрать анимацию.
У меня есть следующий код в результате которого из брансбойта выливается струя воды. Мне надо, чтобы она полилась 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;
У меня есть следующий код в результате которого из брансбойта выливается струя воды. Мне надо, чтобы она полилась 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;