Гэри Розенцвейг - 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», без необходимости каждый раз заново искать на чём Вы остановились. Поставьте закладку, и сможете в любой момент перейти на страницу, на которой закончили чтение.

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

Интервал:

Закладка:

Сделать

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

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

Можно воспользоваться любым понравившимся вам методом создания элементов. Чтобы получить 15 элементов, я выделял квадраты на графическом изображении. В отличие от элементов составной картинки-загадки, здесь не нужно размещать их определенным образом. Центром каждого элемента мозаики может быть его собственный геометрический центр. То есть для этой игры создать элементы гораздо проще.

После того как вы создали все элементы, поместите их на рабочее поле так, как они должны располагаться в собранной мозаике. Я сделал кусочки размером 54x54 пиксела, то есть они должны быть расположены друг от друга на расстоянии 54 пиксела как по вертикали, так и по горизонтали. Поскольку Flash не гарантирует точность при размещении клипов вручную, даже если показана сетка, выравнивать элементы перед началом игры лучше с помощью ActionScript.

Очень важно поместить элементы близко к их исходному положению и присвоить им имена. Я дал им имена от tilelдо tile15,чтобы к ним можно было обращаться в коде программы.

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

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

function initGame() {

// Устанавливаем горизонтальное и вертикальное расстояние

// между элементами.

tileDist = 54;

// Помещаем все элементы на свои места.

for (x=1;x<=4;x++) {

for (y=0;y<=3;y++) {

tile = x+y*4;

_root["tile"+tile];_x = x*tileDist;

_root["tile"+tile];_y = y*tileDist+tileDist;

}

}

// Совершаем 100 произвольных перемещений.

for(tilenum=0;tilenum<100;tilenum++) {

do {

// Выбираем элемент случайным образом.

tile = "tile"+(random(15)+1);

// Проверяем, есть ли рядом свободный квадрат.

emptySpace = findEmpty(tile);

// Цикл продолжается до тех пор, пока не будет найден

// элемент, рядом с которым расположен свободный квадрат.

} while (emptySpace == "none");

// Перемещаем элемент на свободное место.

moveTile(tile,findEmpty(tile));

}

}

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

// Проверяем, есть ли свободное место около данного элемента.

function findEmpty (tile) {

// Определяем положение элемента.

tilex = _root[tile]._x;

tiley = _root[tile]._y;

// Проверяем, есть ли элемент мозаики слева.

if (tilex > tileDist) {

if (!tileThere(tilex-tileDist, tiley)) {

return("left");

}

}

// Проверяем, есть ли элемент мозаики справа.

if (tilex > tileDist*4) {

if (!tileThere(tilex+tileDist, tiley)) {

return("right");

}

}

// Проверяем, есть ли элемент мозаики сверху.

if (tiley > tileDist) {

if (!tileThere(tilex, tiley-tileDist)) {

return("above");

}

}

// Проверяем, есть ли элемент мозаики снизу.

if (tiley > tileDist*4) {

if (!tileThere(tilex, tiley+tileDist)) {

return("below");

}

}

// Элементы мозаики имеются со всех сторон.

return ("none");

}
...

Примечание

Если перед выражением стоит восклицательный знак, значит, оно отрицается, то есть true превращается в false, а false в true. Эта операция известна как логическое не (not).Например, в предыдущем коде проверяется не tileThere,а not tileThere.

Функция findEmptyиспользует метод tileThere,чтобы определить, находится ли элемент на определенном месте. Метод tileThereвызывается для определения элементов слева, справа, снизу и сверху.

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

function tileThere (thisx, thisy) {

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

for (i=1;i<=15;i++) {

// Выясняем, совпадают ли значения положения

// по горизонтали.

if (_root["tile"+i]._x == thisx) {

// Совпадает ли положение по вертикали.

if (_root["tile"+i]._y == thisy) {

return true;

}

}

}

// Эти координаты соответствуют пустому квадратику.

return false;

}

После того как было решено переместить элемент, вызывается функция moveTile.Эта же функция используется, когда игрок перемещает элементы.

// Перемещаем элемент в определенном направлении.

function moveTile (tile, direction) {

if (direction == "above") {

_root[tile]._y -= tileDist;

} else if (direction == "below") {

_root[tile]._y += tileDist;

} else if (direction == "left") {

_root[tile]._x -= tileDist;

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

Интервал:

Закладка:

Сделать

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

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


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

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