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

Тут можно читать онлайн Гэри Розенцвейг - Adobe Flash. Создание аркад, головоломок и других игр с помощью ActionScript - бесплатно ознакомительный отрывок. Жанр: comp-programming. Здесь Вы можете читать ознакомительный отрывок из книги онлайн без регистрации и SMS на сайте лучшей интернет библиотеки ЛибКинг или прочесть краткое содержание (суть), предисловие и аннотацию. Так же сможете купить и скачать торрент в электронном формате fb2, найти и слушать аудиокнигу на русском языке или узнать сколько частей в серии и всего страниц в публикации. Читателям доступно смотреть обложку, картинки, описание и отзывы (комментарии) о произведении.
  • Название:
    Adobe Flash. Создание аркад, головоломок и других игр с помощью ActionScript
  • Автор:
  • Жанр:
  • Издательство:
    неизвестно
  • Год:
    неизвестен
  • ISBN:
    нет данных
  • Рейтинг:
    3.3/5. Голосов: 101
  • Избранное:
    Добавить в избранное
  • Отзывы:
  • Ваша оценка:
    • 60
    • 1
    • 2
    • 3
    • 4
    • 5

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

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

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

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

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

Adobe Flash. Создание аркад, головоломок и других игр с помощью ActionScript - читать книгу онлайн бесплатно (ознакомительный отрывок), автор Гэри Розенцвейг
Тёмная тема
Сбросить

Интервал:

Закладка:

Сделать

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

Некоторые функции данной игры аналогичны функциям игры «Стрельба по воздушным шарам», поэтому нет смысла рассматривать их повторно. Это функции initGame, newBalloon, moveBalloons, checkCollisionи distance.

Одна из новых функций в анализируемой игре – aimStraw.Она заменит функцию moveFoxи будет вызываться из клипа «actions», которому назначен следующий код:

onClipEvent(load) {

_root.initGame();

}

onClipEvent(enterFrame) {

_root.newBalloon ();

_root.moveBalloons();

_root.aimStraw();

_root.moveBullets();

}

Задача функции aimStraw– вычислить угол прицела и затем задать поворот клипа соломинки. Значение угла сохраняется в переменной strawRadians,которая используется функцией shootBullet.Для того чтобы вычислить угол между двумя точками, прежде всего необходимо определить значение разницы между горизонтальными и вертикальными координатами точек. Они хранятся в переменных dxи dyфункции. Задав эти значения в функции Math.atan2, вы получите значение угла в радианах.

...

Совет

Углы измеряются в радианах или градусах. Полный круг в радианах будет равен 6,28 (2π), в градусах – 360. Радианы используются Flash в математических функциях наподобие Math.sin и Math.cos, а градусы – в параметрах клипов _rotation. Поэтому вы должны уметь преобразовывать значения из одних единиц измерения в другие.

...

Примечание

Функция Math.atan2 является прекрасным инструментом для программирования игр. Арктангенс (во Flash – Math.atan) представляет собой функцию, вычисляющую угол наклона линии. Так как такой наклон определяется двумя точками, с помощью арктангенса можно преобразовать координаты этих точек в значение угла наклона. Однако при использовании арктангенса не учитывается, какая точка линии является анкером, а какая указателем, задающим угол. Поэтому легко получить углы, противоположные по значению тем, которые вам необходимы. Для того чтобы учесть различные варианты, необходимо написать несколько условных выражений. Функция Math.atan2(y,x) вычисляет угол наклона линии между началом координат и точкой с координатами (x, y,). Тем самым решается проблема неоднозначности.

function aimStraw() {

// Определяем разницу координат начала

// и конца линии.

dx = _xmouse – straw._x;

dy = _ymouse – straw._y;

// Вычисляем угол наклона.

strawRadians = Math.atan2(dy,dx);

// Переводим полученное значение в градусы.

strawDegrees = 360*strawRadians/(2*Math.PI);

straw._rotation = strawDegrees;

}

Теперь при запуске пули в массив bulletsбудет записано больше информации. Чтобы осуществлять перемещение объекта-пули в каждом кадре, нам необходимо знать угол, под которым он был выпущен.

К каждому объекту массива bulletsбудет добавлен параметр down,описывающий силу гравитации, действующую на пулю. Исходное значение этого параметра – 0.

Для того чтобы пуля вылетала из кончика соломинки, ее координаты должны иметь значение, равное значению координат соломинки плюс 20 пикселов (длина соломинки чуть больше 20 пикселов). Эти пикселы необходимо распределить (найти значения катетов при заданной гипотенузе и угле) между координатами x и y при помощи функций Math.sin и Math.cos для того, чтобы получить горизонтальную и вертикальную стороны угла.
...

Примечание

Функции Math.sin и Math.cos используются здесь для определения горизонтальной и вертикальной сторон угла. Для того чтобы наглядно представить это, возьмем круг, центр которого находится в точке 0,0; крайняя верхняя точка имеет координаты 0, -1 [13] ; крайняя правая – 1,0. Задав в функции Math.sin любой угол, вы получите координату y этого угла на окружности. Функция Math.cos позволяет вычислить координату х. Таким образом, значение Math.sin(0) будет равно (-1), значение Math.cos(0) – 0, что соответствует координатам 0, -1.

Более важно понять то, что перемещение имеет две составляющие: скорость и угол. Значения расстояний для монитора компьютера не могут быть заданы по диагонали, они задаются только по вертикали и горизонтали. Функции Math.sin и Math.cos позволяют преобразовать значения скорости и угла в расстояние по горизонтали и вертикали.

function shootBullet() {

// Проверяем, можно ли выстреливать следующую пулю.

if (getTiner() > nextBulletTime) {

// Создаем пулю.

attachMovie("bullet","bullet"+nextBullet,nextBullet+9999);

bullet = _root["bullet"+nextBullet];

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

bullet._x = straw._x + Math.cos(strawRadians)*20;

bullet._y = straw._y + Math.cos(strawRadians)*20;

// Добавляем в массив информацию о пуле:

// clip = название клипа,

// angle = начальный угол,

// down = эффект гравитации.

bullets.push({clip:bullet,angle:strawRadians,down:0});

// Увеличиваем счетчик пуль.

nextBullet++;

nextBulletTime = getTimer()+1000;

}

}

Функция moveBulletsиспользует параметры angleи downкаждого снаряда для перемещения их на определенное расстояние. Кроме этого параметр downувеличивается, чтобы создавался эффект гравитации. Так как запущенный снаряд должен снова упасть на землю, прежде чем удалить его клип из массива, необходимо проверить, достиг ли он нижнего края экрана.

function moveBullets() {

// Перемещаем все снаряды.

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

// Определяем название клипа.

bullet = bullets[i].clip;

// Перемещаем клип.

bullet._x += Math.cos(bullets[i].angle)*10;

bullet._y += Math.sin(bullets[i].angle)*10;

// Добавляем искажение траектории

// из-за воздействия гравитации.

bullet._y += bullets[i].down;

// Увеличиваем значение параметра гравитации.

bullets[i].down += .2;

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

if (bullet._y > 400) {

bullet.removeMovieClip();

bullets.splice(i,1);

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

} else {

if (checkCollision(bullet)) {

bullet.removeMovieClip();

bullets.splice(i,1);

}

}

}

}

К сведению

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

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

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

Шарики-захватчики

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

В самой классической видеоигре, "Космические захватчики", есть очень странное, но запоминающееся поведение вражеских единиц. Они движутся группой из стороны в сторону, медленно опускаясь вниз. Если они достигнут поверхности, игрок проигрывает.

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

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

Поведение шариков простое. Они образуют группу шириной 10 и высотой 3 шарика, как показано на рис. 10.5. Шарики движутся вправо, пока первая колонна шариков не коснется правой стороны экрана. Тогда они меняют направление и чуть-чуть опускаются.

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

Интервал:

Закладка:

Сделать


Гэри Розенцвейг читать все книги автора по порядку

Гэри Розенцвейг - все книги автора в одном месте читать по порядку полные версии на сайте онлайн библиотеки LibKing.




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


Отзывы читателей о книге Adobe Flash. Создание аркад, головоломок и других игр с помощью ActionScript, автор: Гэри Розенцвейг. Читайте комментарии и мнения людей о произведении.


Понравилась книга? Поделитесь впечатлениями - оставьте Ваш отзыв или расскажите друзьям

Напишите свой комментарий
x