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


Создание кода - часть 2


attachMovie("balloon", nextBalloon);

// Выбираем, с какой стороны

// и с какой скоростью полетит шар.

if (Math.Random()

_root["balloon"+nextBalloon]._x = -30;

dx = int(Math.Random()*3)+3;

} else {

_root["balloon"+nextBalloon]._x = 580;

dx = -int(Math.Random()*3)-3;

// Выбираем высоту.

_root["balloon"+nextBalloon]._y = int(Math.Random()*100)+20;

// Выбираем цвет.

balloonColor = new Color("balloon"+nextBalloon)

r = int(Math.Random()*5)+1;

if (r == 1) {

balloonColor.setTransform({rb:255}) ;

} else if (r == 2) {

balloonColor.setTransform({gb:255}) ;

} else if (r == 3) {

balloonColor.setTransform({bb:255}) ;

} else if (r == 4) {

balloonColor.setTransform({rb:255,gb:255});

} else if (r == 5) {

balloonColor.setTransform({rb:255,bb:255});

}

// Добавляем новый шар.

balloons.push({clip:"balloon"+nextBalloon,d:dx});

// Изменяем значение переменных.

nextBalloon++;

nextBalloonTime = getTimerf) + 2000;

}}
}}

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

Чтобы быстро задать 50-процентную вероятность, лучше использовать фрагмент кода (Math. Random ()

Имейте в виду, что в цикле for функции moveBalloons перечисление осуществляется в обратном порядке: начинается с последнего элемента в массиве balloons и заканчивается 0. Благодаря этому удаление элемента не влияет на остальную часть массива. Предположим, из массива, состоящего из пяти элементов, был удален третий элемент. Тогда четвертый элемент становится третьим, а пятый - четвертым. Если бы вы считали в прямом направлении, вы бы пропустили третий элемент и сразу перешли к четвертому. При счете в обратном порядке такой проблемы не возникает.

Функция moveBalloons проверяет, все ли шары созданы и все ли шары исчезли, что говорит об окончании игры.

function moveBalloons() {




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



Книжный магазин