Читаем Adobe Flash. Создание аркад, головоломок и других игр с помощью ActionScript полностью

Для формирования пуль используется клип "bullet". Код игры содержится в клипе "actions" и сценарии кнопки "button". Единственная кнопка на экране, реально выполняюшая функцию кнопки, – это кнопка Play.

В ролике будут находиться кадры "start", "play", "ship hit", "level over" и "game over", в каждом из которых создается соответствуюший текст. В каждом кадре, кроме "play", находится копия кнопки Play, но к каждому экземпляру этой кнопки прикреплен разный код. Просмотрите ролик Spacerocks.fla, чтобы понять, где расположены все эти элементы и какой код прикреплен к каждому из них.

Создание кода

Как и в игре «Космический бой», за пределами рабочего поля находятся клип «actions» и кнопка «button», к которым добавлены соответствуюшие сценарии. В клипе «actions» содержится одна функция, начинаюшая уровень, и несколько функций, которые при каждом обрашении к кадру перемешают элементы на экране.

onClipEvent(load) {

// Устанавливаем все элементы игры.

_root.startLevel;

}

onClipEvent(enterFrame) {

// Перемещаем корабль на один шаг.

_root.shipMove;

// Перемещаем все пули на один шаг.

_root.bulletsMove;

// Перемещаем астероиды на один шаг.

_root.rocksMove;

// Выясняем, произошло ли столкновение.

_root.checkHits;

}

К кнопке «button» прикреплен код, содержаший несколько обработчиков событий on, которые реагируют на нажатие различных клавиш и совершают соответствуюшие действия.

on (keyPress «») {

// Выстрел.

shipFire;

}

on (keyPress "") {

// Поворот на 30° вправо.

shipTirn(30);

}

on (keyPress "") {

// Поворот на 30° влево.

shipTirn(30);

}

on (keyPress "") {

// Перемещаем корабль вперед.

shipThrust;

}

on (keyPress "") {

// Корабль останавливается.

shipBreak;

}

Когда игрок шелкает по кнопке Play, чтобы начать игру, в кадре «start» можно установить несколько переменных: обнулить количество набранных очков, начать первый уровень игры и указать, что игрок имеет три жизни.

on (press) {

gameLevel = 1;

lives = 3;

score = 0;

gotoAndPlay("play");

}

Все функции находятся в сценарии кадра «play» основной временной шкалы. Первая функция вызывается в начале игры, а также сразу после того, как у игрока уменьшилось количество жизней.

Экземпляру клипа "ship" на рабочем поле присвоено имя "ship". В дополнение к стандартным свойствам клипа, таким как _x и _y, вы добавите несколько новых. Например, свойства dx и dy будут отражать расстояние, на которое перемешается корабль по горизонтали и вертикали соответственно.

Функция startLevel создает массивы bullets и rocks, в которых хранится список клипов пуль и астероидов.

Переменная level, используемая командой attachMovie, определяет уровень клипа, а не уровень игры, для этого применяется переменная gameLevel.

Далее для начала уровня создаются большие астероиды. На первом уровне – два астероида, на втором – три и т. д.

Потом в функции shipFire используется переменная timeOfLastFire, чтобы игрок не мог слишком часто стрелять.

Перейти на страницу:

Похожие книги

Основы программирования в Linux
Основы программирования в Linux

В четвертом издании популярного руководства даны основы программирования в операционной системе Linux. Рассмотрены: использование библиотек C/C++ и стан­дартных средств разработки, организация системных вызовов, файловый ввод/вывод, взаимодействие процессов, программирование средствами командной оболочки, создание графических пользовательских интерфейсов с помощью инструментальных средств GTK+ или Qt, применение сокетов и др. Описана компиляция программ, их компоновка c библиотеками и работа с терминальным вводом/выводом. Даны приемы написания приложений в средах GNOME® и KDE®, хранения данных с использованием СУБД MySQL® и отладки программ. Книга хорошо структурирована, что делает обучение легким и быстрым. Для начинающих Linux-программистов

Нейл Мэтью , Ричард Стоунс , Татьяна Коротяева

ОС и Сети / Программирование / Книги по IT
97 этюдов для архитекторов программных систем
97 этюдов для архитекторов программных систем

Успешная карьера архитектора программного обеспечения требует хорошего владения как технической, так и деловой сторонами вопросов, связанных с проектированием архитектуры. В этой необычной книге ведущие архитекторы ПО со всего света обсуждают важные принципы разработки, выходящие далеко за пределы чисто технических вопросов.?Архитектор ПО выполняет роль посредника между командой разработчиков и бизнес-руководством компании, поэтому чтобы добиться успеха в этой профессии, необходимо не только овладеть различными технологиями, но и обеспечить работу над проектом в соответствии с бизнес-целями. В книге более 50 архитекторов рассказывают о том, что считают самым важным в своей работе, дают советы, как организовать общение с другими участниками проекта, как снизить сложность архитектуры, как оказывать поддержку разработчикам. Они щедро делятся множеством полезных идей и приемов, которые вынесли из своего многолетнего опыта. Авторы надеются, что книга станет источником вдохновения и руководством к действию для многих профессиональных программистов.

Билл де Ора , Майкл Хайгард , Нил Форд

Программирование, программы, базы данных / Базы данных / Программирование / Книги по IT
Программист-прагматик. Путь от подмастерья к мастеру
Программист-прагматик. Путь от подмастерья к мастеру

Находясь на переднем крае программирования, книга "Программист-прагматик. Путь от подмастерья к мастеру" абстрагируется от всевозрастающей специализации и технических тонкостей разработки программ на современном уровне, чтобы исследовать суть процесса – требования к работоспособной и поддерживаемой программе, приводящей пользователей в восторг. Книга охватывает различные темы – от личной ответственности и карьерного роста до архитектурных методик, придающих программам гибкость и простоту в адаптации и повторном использовании.Прочитав эту книгу, вы научитесь:Бороться с недостатками программного обеспечения;Избегать ловушек, связанных с дублированием знания;Создавать гибкие, динамичные и адаптируемые программы;Избегать программирования в расчете на совпадение;Защищать вашу программу при помощи контрактов, утверждений и исключений;Собирать реальные требования;Осуществлять безжалостное и эффективное тестирование;Приводить в восторг ваших пользователей;Формировать команды из программистов-прагматиков и с помощью автоматизации делать ваши разработки более точными.

А. Алексашин , Дэвид Томас , Эндрю Хант

Программирование / Книги по IT