ЗАТУХАНИЕ
Если толкнуть маятник и не прилагать усилий для поддержания амплитуды, то из-за трения и сопротивления воздуха рано или поздно он остановится. Для реализации этого эффекта введём новую константу - reduct (от английского reduction) Также мы условно разобьем поле на этот раз на две части относительно некой точки, и назовём её point. Замените код в нашем примере на:
onClipEvent (load) { // при загрузке мувиклипа
_y = 200; // задаём ему позицию по оси y
_x = 0;// и по оси х
point = 300;// устанавливаем точку, относительно которой будет происходить движение
reduct = .99;// устанавливаем коэффициент затуханиЯ
}
onClipEvent (enterFrame) { // каждый кадр
_x<point ? accel = 1 : accel =-1; // * проверЯем значение _x относительно point и по результату задаем значение ускорениЯ
speed = speed + accel;// рассчитываем скорость
_x=(_x+speed) * reduct;// задаем новую _x координату, добавлЯЯ к текущему значению значение скорости и уменьшаЯ каждый раз рассчитанное значение на 1 процент
}
* В этом примере выражение
_x<point ? accel = 1 : accel =-1;
эквивалентно
if (_x <point) {
accel = 1;
} else {
accel = -1;
}
но удобней для написания и прочтения.
Поэкспериментируйте со значением переменной reduct, посмотрите, что произойдет, если значение превысит единицу.