fla в папке Chapter12. В этом примере мы показываем, как обращаться со звуками управления автомобилем от холостого хода (не движется) до максимальной скорости, и как обрабатывать звуки ускорения или торможения в некоторый момент времени. Это реализовано с четырьмя звуками:
Цикл воспроизведения для холостого хода
Цикл воспроизведения, когда машина движется на максимальной скорости
Звук ускорения, который воспроизводится во всем диапазоне от холостого хода до максимальной скорости
Звук торможения, который воспроизводится во всем диапазоне от максимальной скорости до холостого хода.
Звуки ускорения и торможения имеют одинаковую длину. (В действительности, звук торможения был реально сделан переворачиванием звука ускорения в программе редактирования звука.)
Когда автомобиль ускоряется, мы воспроизводим звук ускорения. Когда игрок приказывает машине тормозить, мы проверяем положение звука ускорения. Затем мы используем эту информацию для нахождения начального положения для звука торможения. Аналогично, если в процессе торможения игрок приказывает машине ускоряться, мы проверяем текущую позицию звука торможения и на основе этой информации определяем, где начинать звук ускорения.
Получилось? Теперь давайте рассмотрим код ActionScript. Сначала мы используем следующие операторы для создания объекта звука для каждого из четырех звуков и подключаем звук к каждому объекту:
1 accel =new Sound();
2 accel.attachSound("accel");
3 decel =new Sound();
4 decel.attachSound("decel");
5 hi_loop =new Sound();
6 hi_loop.attachSound("hi_loop");
7 low_loop =new Sound();
8 low_loop.attachSound("low_loop");
9 accel =new Sound();
10 accel.attachSound("accel");
11 decel.attachSound("decel");
А здесь функции, которые воспроизводят звуки:
1 function playAccel(offset){
2 accel.setVolume(vol);
3 accel.start(offset);
4 accel.onSoundComplete =accelDone;
5 playing ="accel";
6 }
7 function playDecel(offset){
8 decel