Гэри Розенцвейг - Adobe Flash. Создание аркад, головоломок и других игр с помощью ActionScript

Здесь есть возможность читать онлайн «Гэри Розенцвейг - Adobe Flash. Создание аркад, головоломок и других игр с помощью ActionScript» — ознакомительный отрывок электронной книги совершенно бесплатно, а после прочтения отрывка купить полную версию. В некоторых случаях можно слушать аудио, скачать через торрент в формате fb2 и присутствует краткое содержание. Жанр: Программирование, на русском языке. Описание произведения, (предисловие) а так же отзывы посетителей доступны на портале библиотеки ЛибКат.

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

Предлагаем к чтению аннотацию, описание, краткое содержание или предисловие (зависит от того, что написал сам автор книги «Adobe Flash. Создание аркад, головоломок и других игр с помощью ActionScript»). Если вы не нашли необходимую информацию о книге — напишите в комментариях, мы постараемся отыскать её.

Данная книга посвящена программированию игр с помощью ActionScript. Здесь вы найдете подробные указания, необходимые для создания самых разных игр – аркад, головоломок, загадок и даже игровых автоматов. В тексте приведены исходные коды программ и детальные, доступно изложенные инструкции. Базовые принципы программирования ActionScript рассматриваются на примере игр, однако вы без труда сможете применить полученные знания и для разработки неигровых проектов, таких как Web-дизайн и реклама. Рекомендации Гэри Розенцвейга помогут вам не только придумывать занимательные игры и размещать их на Web-сайте, но и оптимизировать скорость их работы, а также защищать свои творения от несанкционированного копирования. Представленный в книге код несложно изменить для использования в других программах.
Книга предназначена для широкого круга читателей – создателей анимационных роликов, художников-оформителей, программистов и разработчиков Web-сайтов. Издание может также выступать в качестве практического пособия по изучению ActionScript.

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

Ниже представлен текст книги, разбитый по страницам. Система сохранения места последней прочитанной страницы, позволяет с удобством читать онлайн бесплатно книгу «Adobe Flash. Создание аркад, головоломок и других игр с помощью ActionScript», без необходимости каждый раз заново искать на чём Вы остановились. Поставьте закладку, и сможете в любой момент перейти на страницу, на которой закончили чтение.

Тёмная тема
Сбросить

Интервал:

Закладка:

Сделать

if (rocks[i]._y > 400) rocks[i]._y -= 400;

if (rocks[i]._y < 0) rocks[i]._y += 400;

// Вращаем астероид.

rocks[i]._rotation += rocks[i].spin;

}

}

Для простоты код, определяюший столкновения, был помешен в одну функцию, которая просматривает все астероиды и пули и с помошью команды hitTest проверяет, попала ли пуля в один из астероидов.

Когда пуля попадает в астероид, его размер и положения записываются, а сам астероид удаляется. Если размер астероида превышал 25 %, в этой же точке создается два новых астероида, каждый из которых в два раза меньше своего предшественника. Направление движения и врашения каждого астероида выбирается случайным образом.

Функция checkHitsтакже проверяет, не столкнулся ли какой-либо астероид с кораблем, если да, то уменьшается количество жизней, и ролик переходит к кадру «ship hit». Если не осталось ни одной жизни, то – к кадру «game over».

И в конце функция checkHitsпроверяет, остались ли элементы в массиве rocks.Если нет, значит, игрок разрушил все астероиды, и ролик переходит к кадру «level over».

function checkHits() {

// Просматриваем все астероиды.

for (j=rooks.length-1; i>=0; i–) {

// Просматриваем все пули.

for (j=bullets.length-1; j>=0; j–) {

// Выясняем, попала ли пуля в астероид.

if (rocks[i].hitTest(bullets[j]._x,bullets[j]._y,true)) {

// Удаляем пулю.

bullets[j].removeMovieClip();

bullets.splice(j);

// Опредляем размер и положение новых астероидов.

newsize = rocks[i]._xscale / 2;

x = rocks[i]._x;

y = rocks[j]._y;

// Удаляем астероид.

rocks[i].removeMovieClip();

rocks.splice(i,1);

// Создаем на этом месте два новых астероида.

if (newsize >= 25) {

newRock(mewsize,x,y);

newRock(mewsize,x,y);

}

// Увеличиваем количество очков.

score++;

// Больше не нужно проверять, попала ли пуля

// в какой-нибудь астероид.

break;

}

}

// Определяем, столкнулся ли корабль с астероидом.

if (rocks[i].hittest(ship._x, ship._y, true)) {

// Выясняем, остались ли еще жизни.

if (lives < 1) {

removeAll();

gotoAndPlay("game over");

// Жизнь еще осталась,

// уменьшаем количество жизней на единицу.

} else {

removeAll();

lives–;

gotoAndPlay("ship hit");

}

}

}

// Проверяем, остались ли еще астероиды.

if (rocks.length == 0) {

removeAll();

gotoAndPlay("level over");

gameLevel++;

}

}

Функция removeAllиспользуется непосредственно перед функцией checkHits,которая переводит ролик к следующему кадру. С экрана удаляются все астероиды и пули, чтоб они не заслоняли текст последующих кадров.

function removeAll() {

// Удаляем все клипы пуль.

for (i=0; i

bullets[i].removeMovieClip();

}

// Удаляем все клипы астероидов.

for (i=0; i

rocks[i].removeMovieClip();

}

}

К сведению

Как всегда, убедитесь, что для клипов в библиотеке установлены свойства связи, чтобы они были вкдючены в swf-файл. Свойства связи необходимо установить для астероидов и пуль, потому что до начала игры их нет на рабочем поле.

Я также создал три текстовых поля, отображаюших значения переменных gameLevel, livesи score.Эти поля расположены в разных углах экрана, над ними добавлен поясняюший текст.

Другие возможности

В таких играх, как «Астероид», можно придумать много интересного. Например, время от времени вокруг корабля может летать небольшой НЛО; если игрок его собьет, то заработает дополнительные очки. Зачастую корабль оснашен шитом, который зашишает его от определенного количества столкновений. Функция «Гиперпространство» переносит корабль в произвольную точку экрана, а «бомба» взрывает все астероиды, находящиеся на заданном расстоянии от корабля.

Это превосходная игра, в которой начинаюший программист ActionScript может попробовать свои силы и применить все имеюшиеся знания. Чем разнообразнее игра, тем лучше.

Погоня в лабиринте

Исходный файл: Mazechase.fla

Следуюшая игра – "Погоня в лабиринте" – классическая аркадная игра. Самое известное воплошение этой игры – Pac-Man.

В игре, фрагмент которой изображен на рис. 16.4, лиса бегает в лабиринте, пытаясь съесть все ягоды. Там же бегает злой кролик. Лиса должна не столкнуться с кроликом, пока не соберет все ягоды.

Рисунок 16.4. Лиса пытается собрать все ягоды, в то время как кролик стремится ее догнать

Задача проекта

Игра, приведенная в качестве примера, имеет самые важные отличительные черты игры-погони в лабиринте. Ягоды исчезают с экрана, если лиса проходит через место, где они находятся. Лиса может переместиться с одной стороны экрана на другую, войдя в туннель справа или слева. Если кролик догонит лису, то она теряет одну жизнь.

Подготовка ролика

В ролике Mazechase.fla всего лишь несколько библиотечных эталонов, основными из которых являются фон, лиса, кролик и ягода.

Читать дальше
Тёмная тема
Сбросить

Интервал:

Закладка:

Сделать

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

Представляем Вашему вниманию похожие книги на «Adobe Flash. Создание аркад, головоломок и других игр с помощью ActionScript» списком для выбора. Мы отобрали схожую по названию и смыслу литературу в надежде предоставить читателям больше вариантов отыскать новые, интересные, ещё непрочитанные произведения.


Аркадий Птицын - Чужие игры (СИ)
Аркадий Птицын
Аркадий Птицын - Чужие игры
Аркадий Птицын
Аркадий Аверченко - Друг
Аркадий Аверченко
Отзывы о книге «Adobe Flash. Создание аркад, головоломок и других игр с помощью ActionScript»

Обсуждение, отзывы о книге «Adobe Flash. Создание аркад, головоломок и других игр с помощью ActionScript» и просто собственные мнения читателей. Оставьте ваши комментарии, напишите, что Вы думаете о произведении, его смысле или главных героях. Укажите что конкретно понравилось, а что нет, и почему Вы так считаете.

x