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

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

Кнопка – просто прямоугольник такого же размера, что и карта. Она расположена в третьем слое клипа "Cards" (см. рис. 13.5), то есть за фоном. Хотя кнопку не будет видно, она будет реагировать на действия пользователя.

Также в клипе "Cards" присутствует фон. У первого кадра, содержашего рубашку карты, фон серый. У остальных кадров, в которых находится какая-либо картинка, белый фон.

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

Почти весь код этой игры находится в основной временной шкале. Ролик начинается с вызова функции initGame, которая создает список 18 пар карт, случайным образом выбирает карты из первого списка, а затем помешает их во второй список, чтобы перемешать колоду карт.

Потом функция создает 36 карт. Каждый клип автоматически начинается с того, что карта помешается рубашкой вверх, а свойству клипа ("picture") присваивается номер картинки, которую карта будет представлять.

initGame();

stop();

function initGame() {

// Создаем отсортированный список карт.

cardsListOrdered = [];

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

cardsListOrdered.push(i,i);

}

// Список перемешанных карт.

cardsListSorted = [];

while (cardsListOrdered.length > 0) {

r = int(Math.random()*cardsListOrdered.length);

cardsListSorted.push(cardsListOrdered[r]};

cardsListOrdered.splice(r,1);

}

// Создаем клипы карт и определяем их положение и картинки.

x = 0;

y = 0;

for(i=0;i<36;i++) {

attachMovie("card", "card"+i, i);

_root["card"+i].picture = cardsListSorted[i];

_root["card"+i]._x = x*60+200;

_root["card"+i]._y = y*60+50;

// Переходим к следующей карте.

x++;

if (x > 5) {

x = 0;

y++;

}

}

firstclip = 0;

}

...

Примечание

Обратите внимание, что с помощью команды push в массив можно добавить сразу более одного элемента. Например, выражение myArray.push(7,12) добавит в массив myArray числа 7 и 12.

Функция initGame заканчивается тем, что обнуляется переменная firstclip. В этой переменной содержится ссылка на карту, по которой шелкнули первой. Когда шелкают по клипу, кнопка внутри этого клипа отреагирует и на основную временную шкалу с помошью функции clickCard будет добавлена ссылка к клипу.

Функция clickCard может выполнить одну из 3-х функций. Если значение переменной firstclip равно 0, ей присваивается клип, по которому шелкнули, карта переворачивается, то есть программа переходит к кадру, содержашему соответствуюшую картинку.

Если в переменной firstclip хранится ссылка на некий клип, значит, одна карта уже перевернута. В этом случае программа переворачивает и вторую карту, присваивает переменной secondclip значение клипа и сравнивает два клипа. Если они совпадают, оба клипа удаляются.

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

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

Перейти на страницу:

Похожие книги

1С: Бухгалтерия 8 с нуля
1С: Бухгалтерия 8 с нуля

Книга содержит полное описание приемов и методов работы с программой 1С:Бухгалтерия 8. Рассматривается автоматизация всех основных участков бухгалтерии: учет наличных и безналичных денежных средств, основных средств и НМА, прихода и расхода товарно-материальных ценностей, зарплаты, производства. Описано, как вводить исходные данные, заполнять справочники и каталоги, работать с первичными документами, проводить их по учету, формировать разнообразные отчеты, выводить данные на печать, настраивать программу и использовать ее сервисные функции. Каждый урок содержит подробное описание рассматриваемой темы с детальным разбором и иллюстрированием всех этапов.Для широкого круга пользователей.

Алексей Анатольевич Гладкий

Программирование, программы, базы данных / Программное обеспечение / Бухучет и аудит / Финансы и бизнес / Книги по IT / Словари и Энциклопедии
1С: Управление торговлей 8.2
1С: Управление торговлей 8.2

Современные торговые предприятия предлагают своим клиентам широчайший ассортимент товаров, который исчисляется тысячами и десятками тысяч наименований. Причем многие позиции могут реализовываться на разных условиях: предоплата, отсрочка платежи, скидка, наценка, объем партии, и т.д. Клиенты зачастую делятся на категории – VIP-клиент, обычный клиент, постоянный клиент, мелкооптовый клиент, и т.д. Товарные позиции могут комплектоваться и разукомплектовываться, многие товары подлежат обязательной сертификации и гигиеническим исследованиям, некондиционные позиции необходимо списывать, на складах периодически должна проводиться инвентаризация, каждая компания должна иметь свою маркетинговую политику и т.д., вообщем – современное торговое предприятие представляет живой организм, находящийся в постоянном движении.Очевидно, что вся эта кипучая деятельность требует автоматизации. Для решения этой задачи существуют специальные программные средства, и в этой книге мы познакомим вам с самым популярным продуктом, предназначенным для автоматизации деятельности торгового предприятия – «1С Управление торговлей», которое реализовано на новейшей технологической платформе версии 1С 8.2.

Алексей Анатольевич Гладкий

Финансы / Программирование, программы, базы данных

Все жанры