iralebedeva.ru :: зелёный коллаж с цветами
КОНТАКТЫ
E-mail: ira.alma@gmail.com

iralebedeva.ru :: зелёный коллаж с цветами
опубликовано 10.03.2004 (г. Алма-Ата)
Flash-мастерская зелёных страничек
Лекционные материалы, домашние задания и тесты
дистанционного курса «Электронная школа Macromedia Flash MX»

Уроки информатики (лекционные материалы и практикумы)


ЭЛЕКТРОННАЯ ШКОЛА MACROMEDIA FLASH MX
III курс: Основы программирования в Macromedia Flash MX
Модуль VII: Создание собственного курсора мыши, Игра «Старая лампа»
Язык ActionScript

В этой лекции речь пойдёт о создании небольшой flash-игрушки — «Старая лампа». Это игра из категории так называемых «стрелялок». Кто же в них не играл? Теперь попробуем сделать простенький вариант такой игры самостоятельно. Набросаем предварительный «эскиз» нашей работы.

В нашем ролике будет два кадра. На первом кадре мы разместим: декорации, 7 ламп, по которым мы будем стрелять, а также текстовой блок Dynamic Text, для вывода очков, набранных в ходе игры. Если пользователь «разобьёт» все лампы мы должны перевести его на второй кадр, где его будут ждать поздравления, результаты, а также предложение начать игру сначала. Для исполнения задуманного, нам нужно создать и подготовить к работе несколько объектов:

Библиотека ролика «Старая лампа»
  • клип прицел (pricel);
  • кнопку со звуковым эффектом — бьющееся стекло (lampbam);
  • клип, имитирующий возгорание лампы, обеспечивающий подсчёт количества разбитых ламп, а также организующий вывод этой информации на экран (strelba);
  • кнопку, которая обеспечит обнуление итогов игры и позволит пользователю начать игру заново (reset).

Первостепенная наша задача создать прицел (собственный курсор мыши). Это, пожалуй, самое интересное в этой лекции. Чтобы скрыть стандартный курсор (указатель мыши), используется hide метод предопределённого объекта Mouse. Для использования Movie Clip как собственного курсора, применяется уже знакомая вам команда startDrag.

Создайте Movie Clip для использования его в качестве собственного курсора. Вынесите его на сцену и пропишите ему скрипт:

onClipEvent(load) {
Mouse.hide()
startDrag(this, true);
}

Включите опцию Lock mouse to center. Протестируйте ролик.

Примечание: При использовании собственного курсора, кнопки, находящиеся в клипе, будут функционировать, как и раньше. Поэтому будет лучше, если собственный курсор вы будете размещать в верхнем слое палитры Timeline, чтобы он перемещался над кнопками и другими объектами. В нашем примере Movie Clip pricel размещён на одноимённом слое.

Палитра Timeline ролика «Старая лампа»

Создайте кнопку со звуковым эффектом (бьющееся стекло) — lampbam. Обратите внимание, что ключевыми в этой кнопке являются только кадры Up и Down, в кадр Up размещён графический символ lampa. В кадр Down помещён звук. Остальные кадры получены с использованием команды Insert Frame.

Палитра Timeline кнопки (бьющееся стекло)

Создайте Movie Clip — strelba. Организуйте в клипе два слоя.

Слой button — на нём разместите созданную вами кнопку — lampbam. На этом слое будет только один кадр! Кнопке пропишите скрипт:

on (press) {
gotoAndPlay(2);
}

Этот код говорит о том, что если пользователь нажмёт на кнопку, управление будет передано кадру №2.

Слой bam — здесь вы должны организовать работу трёх ключевых кадров.

Ключевой кадр №1: Разместите на нём графический символ lampa. А самому кадру пропишите скрипт:

stop ();
Палитра Timeline клипа strelba

Ключевой кадр №2: На нём размещена просто некая графическая группа (огонь — имитация воспламенения). Этому кадру поставьте метку: bam. Для того чтобы «языки пламени» подольше задержались на экране, вставьте ещё два кадра Insert Frame.

Ключевой кадр №3(№5): В этом кадре нет графики он пустой. Но! Это ключевой кадр и ему вы должны прописать скрипт:

Создайте кнопку reset, которая позволит пользователю обнулить результаты игры и начать её заново. Дизайн кнопки вы можете продумать самостоятельно.

Теперь, когда всё подготовлено, вплотную займитесь сценой.

Создайте слой pricel и разместите на нём одноимённый клип (первый кадр слоя ключевой!). Кадров на слое два.

Создайте слой text, на котором будет размещено табло для подсчёта очков. В нашем случае вы используете и статический текст (Static text) и динамический текст (Dynamic Text). Не забудьте прописать имя переменной для динамического текста (в нашем примере Var: score). Кадров на слое два.

Кадр №1: На нём расположен текст, позволяющий отслеживать результат во время «стрельбы» (Dynamic Text). Кадру пропишите скрипт:

stop ();

Кадр №2: На нём также расположен текст. Поздравления, результат игры, а самое главное кнопка reset. Для того чтобы она добросовестно выполняла свои обязанности, пропишите ей скрипт:

on (press) {
/:hits = 0;
/:score = "";
gotoAndStop ("1");
}

Этот кадр вы должны обязательно пометить: Label: end.

Создайте слой lamp. На этом слое только один кадр. На нём разместите 7 ламп (7 Movie Clip — strelba).

Создайте слой decorat. На этом слое тоже только один кадр. Здесь разместите стол, на котором будут стоять лампы.

Протестируйте свой ролик.

В ролике, представленном в этой лекции лампы-мишени движутся, а программа считает не только попадания, но и промахи игрока!

Загрузить игру «Старая лампа» в новом окне

Домашнее задание: Основы программирования в Macromedia Flash MX

Со знанием должно быть обязательно связано умение… Печальное явление, когда голова ученика наполнена большим или меньшим количеством знаний, но он не научился применять, так что о нём приходиться сказать, что хотя он кое-что знает, но ничего не умеет.
Адольф Дистервег

Создайте ролик с движущейся мишенью и ограничением времени стрельбы.

Выполненное задание представьте в виде файла в формате fla (если размер файла превысит 150 Кб, пожалуйста, упакуйте файл в архив) и вышлите учителю.

Тест: Основы программирования в Macromedia Flash MX

В материалы теста входят вопросы, которые позволят вам проверить прочность знаний полученных в ходе работы над третьим—седьмым модулем курса.
Тест создан в Macromedia Flash MX и представляет собой интерактивный flash-ролик: Загрузить тест в новом окне

Курсовой проект: Основы программирования в Macromedia Flash MX

Знания, полученные в рамках изучения электронной школы, должны быть положены в основу создания интерактивного приложения — программы теста и игры. Тематика, положенная в основу создания интерактивного приложения, не определена никакими рамками, кроме морально-этических.

Курсовой проект следует представить в виде файла в формате fla. Упакуйте, пожалуйста, файл в архив и вышлите учителю.

Желаю Вам успехов в самостоятельном изучении Macromedia Flash MX!


IV курс: Углубляемся в программирование Macromedia Flash MX
§ Модуль I: Создание предварительного загрузчика для flash-ролика
§ Модуль II: Программное изменение цвета, Изменяем цвет курсора мыши
§ Модуль III: Одномерные массивы (объект Array)




ваш комментарий *
 
ваше имя

защитный код (цифры с картинки) *







statistics
Рейтинг@Mail.ru       Яндекс.Метрика

Распространение материалов сайта приветствуется.
Ссылка на материалы весьма желательна, но не строго обязательна ;-)
«Знание должно служить творческим целям человека. Мало накоплять знания;
нужно распространять их возможно шире и применять в жизни». Рубакин Н.А.