Иллюстрированный самоучитель по Flash-games


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


В первом кадре содержится копия кнопки Play (Начать игру). Сценарий этого кадра не только переводит ролик к кадру "play", но и устанавливает несколько переменных.

on (press) {

lives = 3;

score = 0;

gameLevel = 1;

gotoAndPlay("play"); }

В кадре "play" содержится клип "actions" с прикрепленным к нему сценарием. Этот сценарий инициализирует все элементы в начале игры, после того как лиса теряет жизнь и перед началом нового уровня. Он также вызывает функции move и moveBunny для продолжения игры.

onClipEvent(load) {

// Инициализируем исходные элементы _root.startLevel();}

onClipEvent(enterFrame) {

// Перемещаем лису.

_root.move();

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

_root.moveBunny(); }

Все функции этой игры можно найти в сценарии основной временной шкалы для кадра "play". Сначала идет функция startLevel.
Основная работа данной функции заключается в создании ягод, для этого просматриваются все 15 положений по вертикали и 21 положение по горизонтали и проверяется, не расположены ли они поверх клипа "background". Если нет, то на пересечении линий сетки помешаются клипы "berry", а в массив berries добавляются указатели на эти клипы.
Также эта функция создает экземпляры клипов "fox" и "bunny", создает и устанавливает несколько новых свойств для каждого клипа, в том числе и dest (новое положение).

Обратите внимание, что свойство dest для клипов "fox" и "bunny" представляет собой просто координату: (х:275, у.275}. Благодаря этому значительно упрощается обращение к данным величинам. Например, можно обратиться к новому горизонтальному положению клипа, записав fox.deet.x.

function startLevel() {

level = 0;

// Создаем ягоды,

berries = new Array();

// Ищем пересечения линий сетки,

for (y=l; у

for (x=l; х

// Выясняем, расположены ли пересечения поверх фона.

if (!(background.hitTest(x*25,y*25,true))) {

// Создаем и размещаем клип "berry".

attachMovie ("berry", "berry"+level, level);




Начало  Назад  Вперед