Функция removeAll используется непосредственно перед
if (rocks[i].hittest(ship._x, ship._y, true)) {
// Выясняем, остались ли еще жизни,
if (lives < 1) {
removeAll();
gotoAndPlay("game.over");
// Жизнь еще осталась,
// уменьшаем количество жизней на единицу.
} else {
removeAll();
lives--;
gotoAndPlay("ship hit"); }}}
// Проверяем, остались ли еще астероиды,
if (rocks.length == 0) {
removeAll();
gotoAndPlay("level over");
gameLevel++;
}}
Функция removeAll используется непосредственно перед функцией checkHits, которая переводит ролик к следующему кадру. С экрана удаляются все астероиды и пули, чтоб они не заслоняли текст последующих кадров.
function removeAll() {
// Удаляем все клипы пуль,
for (i=0; i
bullets[i].removeMovieClip();}
// Удаляем все клипы астероидов.
for (i=0; i
rocks[i].removeMovieClip(); }}
function moveBunnies() {
// Просматриваем все объекты в поисках кроликов.
for(var i=objects.length-l;i>=0;i-) {
if (objects[i].type == "bunny") {
// Перемещаем только видимых кроликов.
if (Math.abs(objects[i].x-foxPos.x) < 275) {
// Движемся в сторону лисы,
if (foxPos.x < objects[i].x) {
var dx = -bunnySpeed;
} else if (foxPos.x > objects[i].x) {
var dx = bunnySpeed;
// Определяем границы.
bunnyBounds = determineBounds(objects[i]);
// Движемся только в пределах этих границ.
if ((dx < 0) and (bunnyBounds.left > Math.abs(dx))) {
objects[i].x += dx;
} else if ((dx > 0) and (bunnyBounds.right > Math.abs(dx))) {
objects[i].x += dx;}
// He подобрался ли кролик достаточно близко к лисе.