Файл: Беляев С А - Разработка игр на языке JavaScript - 2016.pdf
Добавлен: 25.10.2018
Просмотров: 7577
Скачиваний: 136
•САНКТПЕТЕРБУРГ•
•МОСКВА•КРАСНОДАР•
2016
С. А. БЕЛЯЕВ
РАЗРАБОТКА ИГР
НА ЯЗЫКЕ
JAVASCRIPT
У ч е б н о е п о с о б и е
© Издательство «Лань», 2016
© С. А. Беляев, 2016
© Издательство «Лань»,
©
художественное оформление, 2016
Обложка
Е. А. ВЛАСОВА
ББК 32.973.26018.1я73
Б 43
Беляев С. А.
Б 43
Разработка игр на языке JavaScript: Учебное по
собие. — СПб.: Издательство «Лань», 2016. — 128 с.:
ил. — (Учебники для вузов. Специальная литера
тура).
ISBN 9785811419807
Учебное пособие рассматривает ключевые вопросы разработ
ки однопользовательских двумерных игр на языке JavaScript.
Пособие построено в практическом ключе, когда в отдельных гла
вах осуществляется поэтапная разработка различных элементов
игры. В пособии не выделена отдельная глава для изучения основ
JavaScript, его элементы разбираются в процессе изложения ос
новного материала с объяснением базовых особенностей. Читате
лю будет легче воспринимать учебное пособие, если он уже вла
деет JavaScript, но достаточно владеть любым языком програм
мирования.
Учебное пособие предназначено для бакалавров и магистров,
обучающихся по направлениям «Программная инженерия» и
«Прикладная математика и информатика», а также может быть
полезно широкому кругу читателей, интересующихся разработ
кой современных интернетприложений.
ББК 32.973.26018.1я73
Рецензенты:
И. И. ХОЛОД
— кандидат технических наук, доцент кафедры
вычислительной техники СПбГЭТУ «ЛЭТИ»;
С. А. ИВАНОВСКИЙ
— кандидат технических наук, доцент,
зав. кафедрой математического обеспечения и применения ЭВМ
СПбГЭТУ «ЛЭТИ».
ВВЕДЕНИЕ
Современные технологии разработки интернетприло
жений шагнули далеко вперед. Можно найти множество
учебников, посвященных HTML, CSS, JavaScript и т. п.
Все они подробно описывают различные элементы язы
ков и могут использоваться в качестве справочников, од
нако для их успешного применения необходимо иметь
опыт проектирования и разработки приложений. В дан
ном учебном пособии не только описываются элементы
языка программирования, но и приводится множество
практических примеров, позволяющих решать реальные
задачи. А изучение на основании реальных задач, когда
видишь результат, гораздо эффективнее, чем решение не
интересных, но очень полезных учебных примеров. Прин
ципы построения игры, описанные в данном учебном по
собии, могут быть с минимальными изменениями распро
странены на другие языки программирования.
JavaScript во многих аспектах проще для начального
изучения программирования, чем другие языки, но он име
ет особенности, отличающие его от классических объект
ноориентированных языков, таких как Java, C++, C#
и т. п. Тем не менее, он вполне может быть первой сту
пенькой в изучении реального программирования. Владе
ние языком JavaScript дает существенные преимущества
при разработке приложений для Интернета, так как боль
шинство современных браузеров поддерживают JavaScript
и без его использования достаточно сложно создать привле
4
Введение
кательный сайт или интернетприложение. Альтернати
вами могут служить, например, Adobe Flash или Microsoft
Silverlight, но для своей работы они требуют установки
дополнительных надстроек браузера, без которых их ис
пользование невозможно.
Учебное пособие состоит из семи глав. Каждая глава
заканчивается вопросами для самопроверки и упражне
ниями для закрепления материала.
В первой главе описываются базовые элементы HTML
для подключения JavaScript на вебстранице и отображе
ния графики, рассматриваются основы языка, которые
будут использованы в учебном пособии.
Вторая глава посвящена загрузке, обработке и отобра
жению игровой карты. В ней читатель познакомится с воз
можностями построения как карт, умещающихся на од
ном экране, так и карт, которые выходят за рамки одного
экрана, без снижения эффективности обработки незави
симо от размеров игрового поля.
В третьей главе рассматривается эффективная загруз
ка изображений для визуального представления объектов
игры, при этом обрабатываются несколько рисунков, объе
диненных в один.
Четвертая глава описывает взаимодействие с пользо
вателем, обработку событий, полученных от клавиатуры
и мыши. Отдельное внимание уделено общепринятым под
ходам к обработке событий в игровых приложениях.
В пятой главе рассматривается реализация физики
поведения объектов игры.
В шестой главе приведено построение менеджера игры,
который объединяет в себе управление всеми ее элемен
тами.
Седьмая глава посвящена звуку.
Главы строятся по принципу последовательной разра
ботки, поэтому в каждой новой главе вводится необходи
мый функционал в объекты, разработанные на предыду
щих страницах. Рекомендуется последовательное изуче
ние материала.
В заключении приводятся возможные направления
дальнейшего развития описанных решений.
Г Л А В А 1
БАЗОВЫЕ ЭЛЕМЕНТЫ ЯЗЫКА
1.1.
ПЕРВАЯ HTMLСТРАНИЦА
JavaScript является скриптовым языком, который ис
пользуется в рамках HTML (от англ. HyperText Markup
Language), поэтому для успешной разработки на JavaScript
необходимы базовые знания HTML.
Простейшая HTMLстраница может быть отображена
с использованием следующего кода:
<!DOCTYPE html>
<html>
<head>
<title>Ïåðâàÿ ñòðàíèöà</title>
<meta charset="UTF-8">
</head>
<body>
Òåñòîâàÿ ñòðàíèöà
</body>
</html>
Здесь строка
<!DOCTYPE html> показывает, что мы
используем HTML пятой версии (HTML5), теги
<html> и
</html> обрамляют тело страницы, содержащей раздел с
заголовком (от <
head> до </head>) и основное тело (от
<body> до </body>). Теги <title> и </title> предназначены для
указания заголовка, отображаемого в закладке браузера.
Конструкция, содержащая открывающий и закрывающий
теги, например,
«<title>Ïåðâàÿ ñòðàíèöà</title>» называет
ся элементом. Тег
<meta> в данном примере с помощью