Опубликован: 07.11.2006 | Доступ: свободный | Студентов: 3398 / 338 | Оценка: 3.94 / 3.71 | Длительность: 37:11:00
Лекция 12:

Изучение SphereCage

SphereCage: звуки и отражение

Теперь, перейдя во Flash, импортируем все необходимые нам данные (имеются в виду звуки и карта отражения), для управления ими с помощью ActionScript.

  1. Откройте новый фильм, установите частоту кадров на значение 24 кадра, а также цвет фона на #666666.
  2. Выберите File > Import to Library и импортируйте карту отражения (reflect.png) и четыре звуковых файла blip0.wav, blip1.wav, blip2.wav и miss.wav (все они находятся на компакт-диске). Можете использовать ваши собственные звуковые эффекты вместо вышеперечисленных.
  3. Перетащите карту отражения на рабочее место и преобразуйте ее в фильм с именем reflect. Убедитесь, что точка регистрации установлена на центр изображения, и что выбрана опция Export for ActionScript с идентификатором reflect. Теперь удалите инстанс с рабочего стола.

  4. Откройте Library и в диалоговом окне Linkage Properties для каждого из четырех звуков отметьте опцию Export for ActionScript и присвойте им идентификаторы blip0, blip1, blip2 и miss, соответственно.
  5. Далее нам нужно будет сохранить некоторые шрифты в Library, чтобы их можно было использовать в динамических текстовых полях. Я выбрал два шрифта: CosmicTwo для заголовков и Courier New (жирный) для статистики. Вы можете выбрать любые шрифты, однако постарайтесь выбрать для статистики моноширинный шрифт, тогда числа по ходу игры не будут "залезать" друг на друга, и не нужно будет настраивать их расположение на рабочем месте. Выберите New Font: в меню опций справа вверху в Library. Назовите шрифт для статистики именем statsFont и выберите шрифт в списке Font:

  6. Повторите этот шаг, присвоив выбранному вами шрифту для заголовков имя statsTitleFont.

    Я обычно использую информативные имена для экспортированных шрифтов. Так, Courier New, находясь в Library, сообщает мне кое-что о том, как мой код использует данный шрифт. Кроме этого, я могу изменить текущий выбранный шрифт в любое время, не беспокоясь об изменении ссылок, имен символов или кода.

  7. Теперь, если вы еще не использовали экспортированные шрифты во Flash MX, вам необходимо выполнить дополнительный шаг и экспортировать шрифт из вашей библиотеки Library так же, как если бы вы экспортировали значки вашего фильма. Щелкните правой кнопкой мыши на имени шрифта в Library, выберите Linkage: и отметьте опцию Export for ActionScript. Также добавьте идентификатор, соответствующий имени символа ( statsFont или statsTitleFont ). Теперь мы сможем заполнять динамические текстовые поля с использованием нашего встроенного шрифта.

    Мы почти готовы к началу работы с кодом. Последнее, что нужно сделать - это создать шарик. Я изначально планировал использовать для этого также ActionScript, но выяснил, что анимация шарика при применении градиента дает нежелательные эффекты типа смещения пикселей в растровом изображении.

  8. Создайте новый фильм с именем innerBall. Нарисуйте круг диаметром 35 пикселей без контура и закрасьте его радиальным бело-черным градиентом. Расположите центр градиента в левой верхней части сферы для создания иллюзии света, падающего со стороны вашего левого плеча. Наконец, выровняйте рисунок точно по центру фильма.

  9. Теперь создайте новый фильм с именем ball. В окне Linkage Properties отметьте опцию Export for ActionScript и присвойте ему идентификатор ball. Перетащите копию innerBall из Library и выровняйте ее в точности по центру рабочего места. Присвойте ей идентификатор innerBall.

    Здесь использован вложенный фильм для облегчения управления innerBall в трехмерном пространстве. Мы установим внешний фильм ball на центр нашего трехмерного пространства и в течение всей игры будем двигать фильм innerBall, точка регистрации которого (внутри ball ) будет всегда соответствовать центру пространства. Это предотвратит необходимость использования переменной сдвига для каждого фильма, что очень неудобно.

    Ну что ж! Рабочее место пусто, а в Library десять пунктов - настало время для написания кода...

Игорь Хан
Игорь Хан

у меня аналогичная ситуация. Однако, если взять пример из приложения (ball_motion_04_click for trial.fla) то след остается. при этом заметил, что в моем проекте в поле "One item in library" виден кружок, в то время как в приложенном примере такого кружка нет.

Вопрос знатокам, что не так?

Александр Коргапольцев
Александр Коргапольцев

объект созданый мной упорно не желает оставлять след(единственное что добился, так это то что шарик резво гоняется за курсором) функция duplicateMovieClip остаётся не активной, т.е. следа от объекта не остаётся, но если я тоже самый код вбиваю в учебный файл всё работает, не могу понять где я ошибаюсь и почему в документе созданном заново, не работает код начиная от функции duplicateMovieClip?