Гэри Розенцвейг - 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 - читать книгу онлайн бесплатно (ознакомительный отрывок), автор Гэри Розенцвейг
Тёмная тема
Сбросить

Интервал:

Закладка:

Сделать

Преобразование координат

Местоположение объектов на экране определяется двумя координатами: x и у. Объекты в трехмерном пространстве должны иметь три координаты: x, у и z. Последняя определяет глубину.

Для отображения объектов на рабочем поле необходима функция, преобразуюшая x, у и z в экранные координаты x и у. Кроме того, вы будете наклонять и врашать объекты. Поэтому функция преобразования должна учитывать базовые наклоны и врашение.

Учтите, что это самый сложный сценарий из тех, которые мы до сих пор рассматривали и, возможно, из всех сценариев данной книги.

Математическая функция Math.atan (arctg, арктангенс) используется для преобразования координат в угол, а функции Math.sin и Math.cos – для преобразования значения углов обратно в координаты. Таким образом, координаты точки преобразуются в угол и расстояние от центра плоскости. Затем точка поворачивается и вновь преобразуется в координаты. Данное действие выполняется один раз для врашения и один раз для наклона. В результате вы получите координаты x и у, которые можно использовать на экране компьютера.

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

// Переводим трехмерные координаты в координаты на экране

// (делаем проекцию).

function plotPoint(object) {

(1) → // Берем координаты объекта.

x = object.x;

o = object.o

z = object.z;

(2) →// Вычисляем расстояние от центра.

radius = Math.sqrt (x*x+y*y);

(3) →// Вычисляем первый угол.

if (x == 0) angle = Math.atan(l000000) [11] ;

else angle = Math.atan(y/x);

if (x < 0) angle += Math.PI;

(4) →// Поворачиваем объект.

angle += rotation;

(5) →// Вычисляем новые координаты.

realx = radius*Math.cos(angle);

realz = radius*Math.sin(angle);

realy = z;

(6) →// Определяем новое расстояние от центра.

radius = Math.sqrt(realy*realy+realz*realz);

(7) →// Вычисляем второй угол.

if (realz == 0) angle = Math.atan(1000000);

else angle = Math.atan(realy/realz);

if (realz < 0) angle += Math.PI;

(8) →// Добавляем угол наклона сечения.

angle += plane;

(9) →// Вычисляем координаты для экрана.

screenx = realx;

screeny = radius*Math.sin(angle);

screenz = radius*Math.cos(angle);

(10) →// Центрируем положение объекта.

screenx += 275;

screeny += 200;

(11) →// Возвращаем новые координаты.

return({x:screenx,y:screeny,z:screenz});
...

Примечание

Функция Math. atan () преобразует линию в угол в радианах. Необходимо указать значение разницы между начальной и конечной точками линии по вертикали, разделенное на значение этой же разницы по горизонтали. Например, если значения координат начальной и конечной точек линии соответственно равны (200, 200) и (275, 250), то, чтобы получить угол, необходимо записать Math.atan(75/50). Результатом будет значение .9828 радиан, что составляет примерно 56°. В действительности функция Math.atan() немного сложнее, однако данный пример позволит вам создать обшее представление о ней.

Опишем каждый шаг вышеприведенного кода:

(1) Задаются координаты x, у и z объекта.

(2)Вычисляется расстояние на плоскости xy от центра координат до проекции объекта на плоскость.

(3)Определяется угол на плоскости xy.

(4)Значение угла увеличивается на величину поворота объекта.

(5)Задаются новые координаты x, у и z с учетом изменения угла.

(6)Задается расстояние от центра координат до объекта на плоскости yz.

(7)Определяется угол на плоскости yz.

(8)Задается наклон плоскости.

(9)Задаются новые координаты x, у и z с учетом наклона.

(10) Центр новых координат имеет значение 0. Для корректировки к ним прибавляется действительное значение центра экрана (в данном случае (275, 200)).

(11) Теперь координаты x и у могут использоваться для отображения объекта на экране. С помошью координаты z можно также снизить яркость объектов, которые должны казаться расположенными дальше от пользователя.

Функция plotPointпреобразует точки с трехмерными координатами в точки с двумерными координатами при помоши ортогональной проекции. Это означает, что перспектива здесь не используется, и объекты, находяшиеся на дальнем плане, не уменьшаются. Это подходит для моделирования небольших объектов и специальных эффектов, но не годится для создания больших трехмерных сцен.

Углы куба

Теперь приступим к созданию восьми вершин куба. Данные о каждой вершине будем хранить в объекте со свойствами x, у и z. Весь список объектов хранится в массиве.

// Создаем массив из 8 точек для вершин куба.

function makePointsO {

points = new Array();

points[0] = {x: 30, y: 30, z: 30};

points[1] = {x: -30, y: 30, z: 30};

points[2] = {x: -30, y: -30, z: 30};

points[3] = {x: 30, y: -30, z: 30};

points[4] = {x: 30, y: -30, z: -30};

points[5] = {x: 30, y: 30, z: -30};

points[6] = {x: -30, y: 30, z: -30};

points[7] = {x: -30, y: -30, z: -30};

// Создаем восемь клипов для вершин куба.

for(i=0;i

attachMovie("point", "point"+i, i)

}

}

Данная функция создает восемь клипов из эталона, храняшегося в библиотеке. Имя каждого клипа состоит из слова «point» и числа от 0 до 7. Число соответствует точке массива, которую представляет клип.

...

Примечание

Команда attachMovie создает новый клип из эталона, храняшегося в библиотеке. Однако для того, чтобы его можно было воспроизвести во Flash player или на Web-странице, необходимо назначить ему свойство Export for ActionScript. Это можно сделать, выбрав команду Options → Linkage в окне Library. Вы также должны назначить клипу идентификатор. В данном случае назовем его "point".

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

// Устанавливаем координаты точек и их яркость на экране.

function drawPoints() {

for(i=0;i

loc = plotPoint(points[i]);

this["point"+i]._x = loc.x;

this["point"+i]._y = loc.y;

this["point"+i]._alpha = loc.z+100;

}

}

Все вышеупомянутые функции должны помешаться в главную временную шкалу. Следуюшие строки вводят модель и подготавливают переменную rotation.

// Вызываем функцию инициализации и останавливаем

// воспроизведение ролика в этом кадре.

rotation = 0;

makePoints();

stop();

Теперь остается только обратиться к функции drawPoints.Обрашение выполняется в небольшой функции reposition.Она изменяет переменную rotationв зависимости от положения курсора в правой или левой части экрана. Функция также задает переменную planeисходя из положения курсора по вертикали. Затем функция вызывает функцию drawPointsдля задания текушей позиции каждой точки.

// Изменяем позицию куба в каждом кадре.

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

Интервал:

Закладка:

Сделать


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

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




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


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


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

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