Вот они:
1 angle =Math.atan2(ymov,xmov)*180/Math.PI;
2 car._rotation =angle;
Не вдаваясь в подробности, строка 1 вычисляет угол, на который автомобиль должен быть повернут, а строка 2 поворачивает автомобиль. Суммируя то, что мы обсуждали в последней главе (помните тригонометрию?), мы знаем, что мы можем использовать две стороны прямоугольного треугольника для нахождения угла, образуемого траекторией автомобиля и осью x. Ключ состоит в том, чтобы думать о горизонтальной и вертикальной сторонах треугольника как о сформированных скоростями xmov и ymov, соответственно.
До поворота, автомобиль образует угол 0? с осью x. Здесь мы вычисляем, насколько должен быть повернут автомобиль, чтобы указать направление на точку, к которой он движется. Зная длину стороны x (скорость по x) и длину стороны y (скорость по y)мы можем найти угол, используя обратный тангенс Math.atan2(). Он возвращает угол в радианах – угол, который мы используем для вращения клипа. Чтобы сделать это, мы должны использовать свойство _rotation. Достаточно просто – но любопытно, свойство _rotation принимает лишь углы в градусах! Это то, что происходит в строке 1; мы переводим угол в градусы, умножая на значение 180/Math.PI.
Для немного более сложного практического примера, смотрите файл shooter.fla в папке Chapter04 на CD.
Ускорение
Если просто, ускорение возникает всякий раз, когда изменяется векторная скорость. Вспомните, что векторная скорость имеет величину скорости и направление. Так что, если величина скорости или направление изменяются на некоторую величину, происходит ускорение.
Ускорение, подобно векторной скорости, является вектором. Оно имеет величину и направление. Более определенно, это вектор с величиной, которая равняется отношению разницы векторной скорости и разнице времени, за которое происходит это изменение, и направления, в котором совершается ускорение. (Если это звучит подобно трем составляющим вместо двух, прочитайте снова, обращая особое внимание на запятые)