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


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


Код клипа "actions" аналогичен тому, что использовался в игре "Помай яблоко". Изменятся только функции. В функцию initGame было внесено лишь одно изменение: число падающих яблок было увеличено до 50.

Рисунок 9.5 Клип "bad apple" состоит из 20 кадров. Каждый кадр содержит изображение яблока и одного из согласных звуков

function initGame() {

// Инициализация переменных, хранящих

// номера первого и последнего яблока.

firstApple = 1;

lastApple = 0;

// Инициализация переменной, хранящей число пойманных яблок,

score = 0;

// Задаем общее количество яблок.

totalApples = 50;

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

timeSinceLastApple = 0;

appleSpeed = 5;

// Создаем экземпляр клипа, содержащий лису.

attachMovie("running fox","fox",999999);

fox._x = 275;

fox._y = 300;
}

Функция moveFox полностью совпадает с аналогичной функцией игры "Поймай яблоко", поэтому нет смысла повторять ее здесь. Функция drop-NewApple будет отличаться, так как она должна выбирать, какое яблоко бросать, а затем отображать произвольный кадр выбранного клипа.

function dropNewApple() {

// Проверяем, прошел ли заданный промежуток времени,

if (timeSinceLastApple > 20) {

// Бросаем яблоко, если не превышено

// их предельно допустимое количество,

if (lastApple < totalApples) { // Устанавливаем вероятность сброса яблока в 10%.

if (Math.random() < .1) {

// Создаем объект-яблоко.

lastApple++;

if (Math.random() < .5) {

//В 50% случаев яблоко плохое.

attachMovie( "bad apple", "apple"+lastApple, lastApple);

_root["apple"+lastApple].type = "bad";

} else {

// В 50% случаев яблоко хорошее.

attachMovie( "good apple", "apple"+lastApple, lastApple);

_root["apple"+lastApple].type = "good";
}

f=int(Math.Random()*_root["apple"+ lastApple]._totalFrames) + 1;

trace(f);

_root["apple"+lastApple].gotoAndStop(f) ;




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