ЗАТУХАНИЕ

 

Если толкнуть маятник и не прилагать усилий для поддержания амплитуды, то из-за трения и сопротивления воздуха рано или поздно он остановится. Для реализации этого эффекта введём новую константу - 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, посмотрите, что произойдет, если значение превысит единицу.

 

Hosted by uCoz