Файл: Беляев С А - Разработка игр на языке JavaScript - 2016.pdf
Добавлен: 25.10.2018
Просмотров: 7581
Скачиваний: 136
СПИСОК
ИСПОЛЬЗОВАННОЙ ЛИТЕРАТУРЫ
1. HTML Canvas Reference [Электронный ресурс]. — Режим доступа: http://
www.w3schools.com/tags/ref_canvas.asp, свободный. — Загл. с экрана.
2. Rowell, E. HTML5 Canvas Cookbook. — UK : Packt Publishing, 2011. — 348 p.
3. Applications, games, tools and tutorials for HTML5 canvas element [Элек
тронный ресурс]. — Режим доступа: http://www.canvasdemos.com/, огра
ниченный. — Загл. с экрана.
4. HTML5 Canvas Tutorials [Электронный ресурс]. — Режим доступа: http://
www.html5canvastutorials.com/, свободный. — Загл. с экрана.
5. Crockford, D. JavaScript: The Good Parts. — USA : O'Reilly Media, 2008. —
172 p.
6. ECMAScript 5.1 с аннотациями [Электронный ресурс]. — Ecma International,
2010. — Режим доступа: http://es5.javascript.ru/, свободный. — Загл. с
экрана.
7. Tiled Map Editor [Электронный ресурс]. — Режим доступа: http://
www.mapeditor.org, свободный. — Загл. с экрана.
8. JSON Formatter & Validator [Электронный ресурс]. — Режим доступа: http:/
/jsonformatter.curiousconcept.com/, свободный. — Загл. с экрана.
9. HTML5 Game Development Insights [Электронный ресурс] / C. McAnlis,
P. Lubbers, S. Bennett [at al.]. — Apress, 2014. — 476 p. — Режим доступа:
https://www.udacity.com/course/cs255, свободный. — Загл. с экрана.
10. TexturePacker Features [Электронный ресурс]. — Режим доступа: http://
www.texturepacker.com, свободный. — Загл. с экрана.
11. Leshy SpriteSheet Tool [Электронный ресурс]. — Режим доступа: http://
www.leshylabs.com/apps/sstool/, свободный. — Загл. с экрана.
12. Freeman, J. Introducing HTML5 Game Development. — USA : O'Reilly Media,
2012. — 120 p.
13. HTML5 Games Development by Example, Makzan. — UK : Packt Publishing,
2011. — 352 p.
14. Williams, J. L. Learning HTML5 Game Programming. — USA : Addison
Wesley, 2011. — 356 p.
15. Box2D, A 2D Physics Engine for Games [Электронный ресурс]. — Режим
доступа: www.box2d.org, свободный. — Загл. с экрана.
16. Box2D.JS [Электронный ресурс]. — Режим доступа: http://box2d
js.sourceforge.net, свободный. — Загл. с экрана.
17. Ramtal, D. Physics for JavaScript Games, Animation, and Simulations with
HTML5 Canvas / D. Ramtal, A. Dobre. — Apress, 2014. — 508 p.
18. Goyvaerts, J. Regular Expressions Cookbook / J. Goyvaerts, S. Levithan. —
USA : O'Reilly Media, 2012. — 612 p.
19. Smus, B. Getting Started with Web Audio API [Электронный ресурс]. —
2013. — Режим доступа: http://www.html5rocks.com/en/tutorials/
webaudio/intro/, свободный. — Загл. с экрана.
20. Web Audio API [Электронный ресурс]. — 2013. — Режим доступа: http://
www.w3.org/TR/webaudio/, свободный. — Загл. с экрана.
21. Qiao/PathFinding.is // GitHub [Электронный ресурс]. — 2015. — Режим
доступа: github.com/qiao/PathFinding.js, свободный. — Загл. с экрана.
22. Subprotocol/verletjsgithub // GitHub [Электронный ресурс]. — 2015. — Ре
жим доступа: com/subprotocol/verletjs, свободный. — Загл. с экрана.
23. Линейная алгебра для разработчиков игр [Электронный ресурс]. — 2015. —
Режим доступа: http://habrahabr.ru/post/131931/, свободный. — Загл. с
экрана.
24. Three.js — Javascript 3D library [Электронный ресурс]. — 2015. — Режим
доступа: http://threejs.org/, свободный. — Загл. с экрана.
ОГЛАВЛЕНИЕ
Введение . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
Глава 1
Базовые элементы языка . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
1.1. Первая HTMLстраница . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
1.2. Отображение прямой на холсте . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
1.3. Отображение прямоугольника и зигзага . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
1.4. Отображение нескольких прямоугольников . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
1.5. Отображение рисунков, простейшая анимация . . . . . . . . . . . . . . . . . . . . . . . . . . 17
1.6. Трансформация изображения . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
Вопросы для самопроверки . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
Упражнения . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
Глава 2
Отображение карты игры . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
2.1. Сохранение карты в формате JSON . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
2.2. Описание объекта для управления картой . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
2.3. Дополнительные методы работы с картой . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
Вопросы для самопроверки . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
Упражнения . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
Глава 3
Отображение объектов . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
3.1. Создание объектов игры . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
3.2. Загрузка изображений для объектов . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56
Вопросы для самопроверки . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67
Упражнения . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67
Глава 4
Взаимодействие с пользователем . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68
4.1. Взаимодействие с использованием клавиатуры . . . . . . . . . . . . . . . . . . . . . . . . . 68
4.2. Взаимодействие с использованием мыши . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72
4.3. Реализация менеджера событий . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75
Вопросы для самопроверки . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79
Упражнения . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79
Глава 5
Реализация логики поведения объектов . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81
5.1. Физические особенности пространства . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82
Прямолинейное движение . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82
Свободное падение . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84
Изменение двух координат
с учетом свободного падения . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86
Упругое падение . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88
5.2. Менеджер физики объектов . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91
Вопросы для самопроверки . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97
Упражнения . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98
Глава 6
Менеджер игры . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99
Вопросы для самопроверки . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106
Глава 7
Управление звуком . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107
7.1. Загрузка и проигрывание аудиофайлов . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107
Проигрывание аудиофайлов . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 108
Проигрывание аудиофайлов с настройкой громкости звука . . . . . . . . . . . 110
7.2. Менеджер звука . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112
7.3. Дополнительные функции работы со звуком . . . . . . . . . . . . . . . . . . . . . . . . . . . 118
Вопросы для самопроверки . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121
Упражнения . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122
Заключение . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 123
Список использованной литературы . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 126
Сергей Алексеевич БЕЛЯЕВ
РАЗРАБОТКА ИГР НА ЯЗЫКЕ JAVASCRIPT
У ч е б н о е п о с о б и е
Çàâ. ðåäàêöèåé
ôèçèêî-ìàòåìàòè÷åñêîé ëèòåðàòóðû Í. Ð. Êðàìîð
Îòâåòñòâåííûé ðåäàêòîð Í. Â. ×åðåçîâà
Òåõíè÷åñêèé ðåäàêòîð Ò. Ñ. Ñèìîíîâà
Ïîäãîòîâêà èëëþñòðàöèé À. Ï. Ìàðêîâà
Âåðñòêà Å. Å. Åãîðîâà
Âûïóñêàþùèå Å. Ï. Êîðîëüêîâà, Í. À. Êðûëîâà
ËÐ ¹ 065466 îò 21.10.97
Ãèãèåíè÷åñêèé ñåðòèôèêàò 78.01.07.953.Ï.007216.04.10
îò 21.04.2010 ã., âûäàí ÖÃÑÝÍ â ÑÏá
Èçäàòåëüñòâî «ËÀÍÜ»
lan@lanbook.ru; www.lanbook.com
196105, Ñàíêò-Ïåòåðáóðã, ïð. Þðèÿ Ãàãàðèíà, ä. 1, ëèò. À.
Òåë./ôàêñ: (812) 336-25-09, 412-05-97.
Áåñïëàòíûé çâîíîê ïî Ðîññèè: 8-800-700-40-71
ГДЕ КУПИТЬ
ДЛЯ ОРГАНИЗАЦИЙ:
Для того, чтобы заказать необходимые Вам книги, достаточно обратиться
в любую из торговых компаний Издательского Дома «ЛАНЬ»
:
по России и зарубежью
«ЛАНЬТРЕЙД». 192029, СанктПетербург, ул. Крупской, 13
тел.: (812) 4128578, 4121445, 4128582; тел./факс: (812) 4125493
email: trade@lanbook.ru; ICQ: 446869967
www.lanpbl.spb.ru/price.htm
в Москве и в Московской области
«ЛАНЬПРЕСС». 109263, Москва, 7я ул. Текстильщиков, д. 6/19
тел.: (499) 1786585; email: lanpress@lanbook.ru
в Краснодаре и в Краснодарском крае
«ЛАНЬЮГ». 350901, Краснодар, ул. Жлобы, д. 1/1
тел.: (861) 2741035; email: lankrd98@mail.ru
ДЛЯ РОЗНИЧНЫХ ПОКУПАТЕЛЕЙ:
интернет(магазины
:
Издательство «Лань»: http://www.lanbook.com
«Сова»: http://www.symplex.ru; «Ozon.ru»: http://www.ozon.ru
«Библион»: http://www.biblion.ru
Подписано в печать 19.08.15.
Бумага офсетная. Гарнитура Школьная. Формат 84
´108
1
/
32
.
Печать офсетная. Усл. п. л. 6,72. Тираж 300 экз.
Заказ № .
Отпечатано в полном соответствии с качеством
предоставленного оригиналмакета.
в ПАО «Т8 Издательские Технологии».
109316, г. Москва, Волгоградский пр., д. 42, к. 5.