Flash Game Book (2 урок)
Реализация скорости.
Скорость - отношение пройденного расстояния к кадрам, потраченным на прохождение этого расстояния.
На примере посмотрим простое применение скорости.
Откроем новый проект.
Создадим новый слой.
На слое нарисуем объект (в моем примере это треугольник).
Преобразуем объект в клип (F8) с именем car.
Выберем наш созданный слой (в моем примере это myObject).
И впишем в него (в Actions-Frame)
xmov=4;
_root.onEnterFrame=function(){
car._x+=xmov;
}
Строка 1 устанавливает переменную скорости под названием xmow в значение 4.
Строка 2 назначает обработчик для события onEnterFrame.
Все действия, заключенные в обработчике события onEnterFrame, вызываются один раз в каждом кадре.
Строка 3 работает со скоростью объекта. Берется текущее положение объекта - car._xи к нему прибавляется значение скорости.
Помните что скорость измеряется в единицах на кадр.
То-есть, скорость 4 означает, что мы передвигает объект вдоль оси x на 4 единицы за каждый кадр.
Теперь давайте реализуем движение объекта сразу в двух направлениях.
Для этого добавим в наш код пару строчек и получим:
xmov=4;
ymov=3;
_root.onEnterFrame=function(){
car._x+=xmov;
car._y+=ymov;
}
Запустив клип мы заметим визуальные проблемы.
Объект будет все время ориентирован по горизонтали (перемещаться боком).
Для того чтобы развернуть объект в нужном направлении, нужно добавить еще пару строчек и получить:
xmov=4;
ymov=3;
_root.onEnterFrame=function(){
car._x+=xmov;
car._y+=ymov;
angle=Math.atan2(ymov,xmov)*180/Math.PI;
car._rotation=angle;
}
Строка 6 вычисляет угол, на который объект должен быть повернут.
Строка 7 поворачивает автомобиль.