достигла ли лиса положения своей
if (getTimert) > fox.nextmove) {
// Нельзя сделать следующий шаг в течение 50 миллисекунд,
fox.nextmove = getTimer() + 50;
// Перемещаем лису.
fox._x += fox.move.x*5;
fox._y += fox.move.y*5;
// Определяем, прошла ли лиса сквозь тоннель,
if (fox._x > 550) fox._x = 0;
if (fox._x < 0) fox._x = 550;
// Проверяем, достигла ли лиса положения своей цели,
if ((fox._x == fox.dest.x) and (fox.__y == fox.dest.у)) {
eatBerry();
nextMove();
}}}
Для того чтобы лиса съела ягоду, нужно просмотреть массив berries и определить, совпадает ли положение какой-либо ягоды с положением лисы. Если да, то клип этой ягоды переходит ко второму кадру, ягода исчезает, а количество очков увеличивается.
Так как в поисках нужной ягоды вы просматриваете массив berries, можете посчитать, сколько ягод не было съедено. Если была найдена не съеденная ягода, то уровень не заканчивается.
function eatBerry() {
// Предположим, что все ягоды были съедены.
allGone = true;
// Просматриваем массив berries,
for (i=0; i<berries.length; i++) {
// Выясняем, находится ли ягода там же, где и лиса.
if ((berries[i]._currentFrame == 1) and (berries[i]._x == fox._x) and (berries[i]._y == fox._y)) {
// Удаляем ягоду.
berries[i].gotoAndStop("nothing");
// Лиса открывает рот.
fox.gotoAndPlay("eat");
// Увеличиваем число очков.
score++;
// Если какая-то ягода еще не съедена,
// то уровень не закончен.
} else if (berries[i]._currentFrame== 1){
allGone = false;
}} // ЕСЛИ все ягоды были съедены, уровень завершен.
if (allGone) {
gotoAndPlay("level over");
gameLevel++;
}}
Когда лиса доходит до ягоды, необходимо определить следующее положение цели. С помощью объекта Key можно проверить все четыре клавиши со стрелками, если нажата одна из них, для лисы определяется
объект move. Однако это не значит, что лиса будет двигаться в указанном направлении.
Для того чтобы лиса могла сделать шаг, необходимо, чтобы в том направлении на расстоянии ровно в 25 пикселов находился клип ягоды.
Если же его там нет, то свойство move объекта обнуляется.