Книги
чёрным по белому
Главное меню
Главная О нас Добавить материал Поиск по сайту Карта книг Карта сайта
Книги
Археология Архитектура Бизнес Биология Ветеринария Военная промышленность География Геология Гороскоп Дизайн Журналы Инженерия Информационные ресурсы Искусство История Компьютерная литература Криптология Кулинария Культура Лингвистика Математика Медицина Менеджмент Металлургия Минералогия Музыка Научная литература Нумизматика Образование Охота Педагогика Политика Промышленные производства Психология Путеводители Религия Рыбалка Садоводство Саморазвитие Семиотика Социология Спорт Столярное дело Строительство Техника Туризм Фантастика Физика Футурология Химия Художественная литература Экология Экономика Электроника Энергетика Этика Юриспруденция
Новые книги
Цуканов Б.И. "Время в психике человека" (Медицина)

Суворов С. "Танк Т-64. Первенец танков 2-го поколения " (Военная промышленность)

Нестеров В.А. "Основы проэктирования ракет класса воздух- воздух и авиационных катапульных установок для них" (Военная промышленность)

Фогль Б. "101 вопрос, который задала бы ваша кошка своему ветеринару если бы умела говорить" (Ветеринария)

Яблоков Н.П. "Криминалистика" (Юриспруденция)
Реклама

Секреты разработки игр в Macromedia Flash MX - Макар Дж.

Макар Дж. Секреты разработки игр в Macromedia Flash MX — М.: КУДИЦ-ОБРАЗ , 2004. — 608 c.
ISBN 0-201-77021-0
Скачать (прямая ссылка): sekretirazrabotkiigr2004.djvu
Предыдущая << 1 .. 50 51 52 53 54 55 < 56 > 57 58 59 60 61 62 .. 210 >> Следующая

плитках, вроде цвета плитки или типа элемента, находящегося в плитга
Если вам действительно не терпится посмотреть, как все это выгляд и
работает в реальной игре, просто потерпите. В третьей части этой книги
будем рассматривать описанный подход в применении к игре, основанн на
плитках и называющейся Don't Fall!
Создание плиток для вида сверху-вниз и управление ими
Большинство плиточных миров во Flash представлены либо в виде сверху-вн
либо в виде 3D-изометрии, как в игре Shark Attack! Способ, которым вы
храни данные плиток и управляете ими, в точности совпадает для обоих
видов, но а
iBa 7. Миры, основанные на плитках
167
i бы, которыми плитки отображаются на экране, отличаются. В этой главе мы
иесмотрим, как создавать плитки в виде сверху-вниз и как хранить
информацию Г этих плитках. В последней части этого раздела мы опишем
очень мощный, м простой математический трюк, который может очень сильно
уменьшить коли-ство вычислений, необходимое для реализации плиточных
миров.
О В главе 8 "Изометрический взгляд на мир" мы продолжим наше
рассмотрение плиточных миров и исследование их роли в играх с
изометрическим видом на мир.
оздание сетки и хранение информации
1ля построения сетки из плиток на экране вы должны использовать вложенные
иклы - циклы внутри циклов. Если бы вы пожелали построить лишь одну
прямую линию из десяти плиток, вам потребовалось бы использование только
од-юго цикла. В каждой итерации этого цикла (не забывайте, что в этом
примере |.шо бы десять итераций для внешнего цикла) вы использовали бы
оператор ittachMovie() для создания экземпляра клипа, а затем размещали
бы его в нуж-юм месте сцены. Поскольку сетка имеет несколько линий
описанного типа одна |рямо под другой, для создания полной сетки мы
делаем цикл в цикле. Не забы-ийте, что у нас один цикл для создания линии
плиток, поэтому мы запускаем пот цикл каждый раз, когда хотим добавить
строку.
(c)Представьте внутренний цикл как день, а внешний как неделю. Внутренний
цикл проходит через 24 часа дня, но этот цикл выполняется от начала до
конца каждого дня (внешний цикл). Поэтому в течение одной недели было бы
7 24 итераций.
Иы устанавливаем число повторений для внешнего цикла, скажем, десять раз.
Хля каждого такого цикла есть внутренний цикл, который добавляет клипы
пли-гок в строку. Ниже представлен пример кода ActionScript, который
выполняет бавление в сцену лишь одной строки из десяти клипов.
1 for (var i = l; i < = 10; + + i) (
2 //code to add and place the movie clip
3 f
тот код добавил бы одну горизонтальную строку из десяти клипов. Чтобы
сде-1ать сетку, нам понадобилось бы запустить этот цикл один раз для
каждой строки, которую мы хотим добавить. Поэтому мы добавляем внешний
цикл.
168
Часть 2. Исследование от
1 for (var j = l; j< =10; + + j) t
2 for (var i = l; i<=10; + + i) |
3 //code to add and place the movie clip
4 I
5 }
Вот что происходит:
• Внешний цикл начинается с j=1 (соответствует строке 1). В то время
Kori j=1, внутренний цикл выполняет размещение клипов от i=1 до i=10.
Строка заполнена.
• Внешний цикл перемещается на j=2 (соответствует строке 2). В то
время гда j-2, внутренний цикл выполняет размещение клипов от i=1 до
i=10. Стр ка 2 заполнена.
• И так далее еще восемь раз.
Откройте файл grid.fla в папке Chapter07 на CD, чтобы посмотреть пр мер.
Вы увидите в сцене два клипа. Один из них имеет имя экземпля] grid, а
другой не имеет имени экземпляра, но имеет имя в библиотеке till Этот
клип имеет также идентификатор связывания образца tile, так ч мы можем
создавать его экземпляры в сцене, используя код ActionScript Кроме того,
в клипе tile есть восемь кадров, каждый со своей плитко Клип сетки grid
был размещен таким образом, что мы можем подключа клипы к нему. Создание
сетки в клипе является более аккуратным сп собом, чем подключение
множества клипов к основной шкале времени Это первый в веренице файлов
примеров, которые мы увидим в эт< главе, каждый из которых построен на
основе предыдущего. К кон главы вы будете иметь очень простой вариант
игры ПэкМэн - заготовк для игры. Код ActionScript в этом файле делает три
вещи:
1. Создает объект с именем game, который мы используем для хранения ин
формации о сетке.
2. Создает функцию с именем buildGrid(), которая создает сетку в сцене
и со1 дает структуру данных, которую мы используем для хранения
информации
о каждой плитке.
3. Выполняет функцию buildGrid().
Ниже представлен код ActionScript, использованный для создания объекта
дат-
1 дате
2 дате
= (}; columns
10 ;
К. 7. Миры, основанные на плитках
169
game.rows = 10; game.spacing = 30; game.depth = 10 0 0; game.path =
_root.grid; game.numberOfTypes = 8;
Ьрока 1 создает объект game, а все последующие строки добавляют
информации в этот объект. Строки 2 и 3 определяют размерность сетки;
строка 4 опре-
3 |яет шаг (количество единиц между точками привязки плиток).
Следующая 1рока устанавливает переменную объекта под названием depth
Предыдущая << 1 .. 50 51 52 53 54 55 < 56 > 57 58 59 60 61 62 .. 210 >> Следующая