Π§ΠΈΡ‚Π°ΠΉΡ‚Π΅ ΠΊΠ½ΠΈΠ³ΠΈ ΠΎΠ½Π»Π°ΠΉΠ½ Π½Π° Bookidrom.ru! БСсплатныС ΠΊΠ½ΠΈΠ³ΠΈ Π² ΠΎΠ΄Π½ΠΎΠΌ ΠΊΠ»ΠΈΠΊΠ΅

Π§ΠΈΡ‚Π°Ρ‚ΡŒ ΠΎΠ½Π»Π°ΠΉΠ½ Β«Adobe Flash. Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ Π°Ρ€ΠΊΠ°Π΄, Π³ΠΎΠ»ΠΎΠ²ΠΎΠ»ΠΎΠΌΠΎΠΊ ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΡ… ΠΈΠ³Ρ€ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ActionScriptΒ». Π‘Ρ‚Ρ€Π°Π½ΠΈΡ†Π° 77

Автор Гэри Π ΠΎΠ·Π΅Π½Ρ†Π²Π΅ΠΉΠ³

// ВыясняСм, находится Π»ΠΈ ягода Ρ‚Π°ΠΌ ΠΆΠ΅, Π³Π΄Π΅ ΠΈ лиса.

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 ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° обнуляСтся.

function nextMove() {

// ΠŸΡ€Π΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠΈΠΌ, Ρ‡Ρ‚ΠΎ лиса Π΄Π²ΠΈΠ³Π°Ρ‚ΡŒΡΡ Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚.

fox.move.x = 0;

fox.move.y = 0;

// ΠŸΡ€ΠΎΠ²Π΅Ρ€ΡΠ΅ΠΌ клавиши со стрСлками.

// ΠžΠΏΡ€Π΅Π΄Π΅Π»ΡΠ΅ΠΌ ΠΏΠΎΡ‚Π΅Π½Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎΠ΅ Π½Π°ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ двиТСния.

// Если Π½ΡƒΠΆΠ½ΠΎ, ΠΏΠΎΠ²ΠΎΡ€Π°Ρ‡ΠΈΠ²Π°Π΅ΠΌ лису Π²Π»Π΅Π²ΠΎ ΠΈΠ»ΠΈ Π²ΠΏΡ€Π°Π²ΠΎ.

if (Key.isDown(Key.LEFT)) {

fox.move.x = -1;

fox._xscale = Math.abs(fox._xscale);

} else if (Key.isDown(Key.RIGHT)) {

fox.move.x = 1;

fox._xscale = -Math.abs(fox._xscale);

} else if (Key.isDown(Key.UP)) {

fox.move.y = -1;

} else if (Key.isDown(Key.DOWN)) {

fox.move.y = 1;

}

// ΠžΠΏΡ€Π΅Π΄Π΅Π»ΡΠ΅ΠΌ ΠΏΠΎΡ‚Π΅Π½Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎΠ΅ ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Ρ†Π΅Π»ΠΈ.

newx = fox._x + fox.move.x*25;

newy = fox._y + fox.move.y*25;

okToMove = false;

// ΠŸΡ€ΠΎΡΠΌΠ°Ρ‚Ρ€ΠΈΠ²Π°Π΅ΠΌ массив berries: ΡΠΎΠ²ΠΏΠ°Π΄Π°ΡŽΡ‚ Π»ΠΈ ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚Ρ‹

// ΠΏΠΎΡ‚Π΅Π½Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎΠ³ΠΎ полоТСния Ρ†Π΅Π»ΠΈ с ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚Π°ΠΌΠΈ ΠΊΠ°ΠΊΠΎΠΉ-Π»ΠΈΠ±ΠΎ ΡΠ³ΠΎΠ΄Ρ‹.

for(i=0;i<berries.length;i++) {

// Π‘ΠΎΠ²ΠΏΠ°Π΄Π΅Π½ΠΈΠ΅ Π½Π°ΠΉΠ΄Π΅Π½ΠΎ, ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅ΠΌ Π½ΠΎΠ²ΠΎΠ΅ ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Ρ†Π΅Π»ΠΈ.

if ((berries[i]._x == newx) and (berries[i]._y == newy)) {

fox.dest.x = newx;

fox.dest.y = newy;

okToMove = true;

}

}

// Π£ΠΊΠ°Π·Ρ‹Π²Π°Π΅ΠΌ ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Π΅ установки для ΠΏΡ€ΠΎΡ…ΠΎΠ΄Π° сквозь Ρ‚ΠΎΠ½Π½Π΅Π»ΡŒ.

if (newx == 550) {

okToMove = true;

fox.dest.x = 25;

} if (newx == 0) {

okToMove = true;

fox.dest.x = 525;

}

// Если совпадСниС Π½Π΅ Π½Π°ΠΉΠ΄Π΅Π½ΠΎ, Π½Π΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Ρ‰Π°Π΅ΠΌ лису.

if (!okToMove) {

fox.move.x = 0;

fox.move.y = 0;

}

}

ΠšΡ€ΠΎΠ»ΠΈΠΊ двигаСтся нСпрСдсказуСмо. Когда ΠΎΠ½ Π΄ΠΎΡ…ΠΎΠ΄ΠΈΡ‚ Π΄ΠΎ ягоды, ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ Ρ„Ρ€Π°Π³ΠΌΠ΅Π½Ρ‚ ΠΊΠΎΠ΄Π° просматриваСт массив berries ΠΈ опрСдСляСт, ΠΊΠ°ΠΊΠΈΠ΅ ΠΊΠ»ΠΈΠΏΡ‹ ягод находятся рядом с Ρ‚Π΅ΠΊΡƒΡˆΠΈΠΌ ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΠΌ ΠΊΡ€ΠΎΠ»ΠΈΠΊΠ°. Π—Π°Ρ‚Π΅ΠΌ случайным ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ выбираСтся ΠΎΠ΄ΠΈΠ½ ΠΈΠ· этих ΠΊΠ»ΠΈΠΏΠΎΠ², ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚Ρ‹ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ ΠΈ Π±ΡƒΠ΄ΡƒΡ‚ ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΠΌ Ρ†Π΅Π»ΠΈ ΠΊΡ€ΠΎΠ»ΠΈΠΊΠ°. НС ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Π²Ρ‹Π±Ρ€Π°Π½ΠΎ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ‚ΠΎ Π½Π°ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅, ΠΎΡ‚ΠΊΡƒΠ΄Π° ΠΏΡ€ΠΈΡˆΠ΅Π» ΠΊΡ€ΠΎΠ»ΠΈΠΊ. Π”Ρ€ΡƒΠ³ΠΈΠΌΠΈ словами, ΠΊΡ€ΠΎΠ»ΠΈΠΊ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚ Π²Π΄Ρ€ΡƒΠ³ ΠΏΠΎΠ²Π΅Ρ€Π½ΡƒΡ‚ΡŒ Π½Π°Π·Π°Π΄. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, ΠΊΡ€ΠΎΠ»ΠΈΠΊ ΠΈΠ΄Π΅Ρ‚ ΠΏΠΎ Π΄Π»ΠΈΠ½Π½Ρ‹ΠΌ ΠΊΠΎΡ€ΠΈΠ΄ΠΎΡ€Π°ΠΌ, Π½Π΅ ΠΎΡΡ‚Π°Π½Π°Π²Π»ΠΈΠ²Π°ΡΡΡŒ ΠΈ Π½Π΅ ΡˆΠ°Ρ€Π°Ρ…Π°ΡΡΡŒ ΠΈΠ· стороны Π² сторону. Однако Ссли ΠΊΡ€ΠΎΠ»ΠΈΠΊ Π·Π°Ρ…ΠΎΠ΄ΠΈΡ‚ Π² Ρ‚ΡƒΠΏΠΈΠΊ, ΠΎΠ½ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈΠ΄Ρ‚ΠΈ Π² ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎΠΌ Π½Π°ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠΈ, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ это СдинствСнно Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹ΠΉ ΠΏΡƒΡ‚ΡŒ. И послСднСС, Ρ‡Ρ‚ΠΎ Π΄Π΅Π»Π°Π΅Ρ‚ функция moveBunny,  β€“ это провСряСт, Π½Π΅ находится Π»ΠΈ ΠΊΡ€ΠΎΠ»ΠΈΠΊ Π²Π±Π»ΠΈΠ·ΠΈ ΠΎΡ‚ лисы. Если Π΄Π°, Ρ‚ΠΎ ΠΊΡ€ΠΎΠ»ΠΈΠΊ Π»ΠΎΠ²ΠΈΡ‚ лису, ΠΈ ΠΎΠ½Π° тСряСт ΠΎΠ΄Π½Ρƒ Тизнь.

function moveBunny() {

// ΠŸΡ€ΠΎΠ²Π΅Ρ€ΡΠ΅ΠΌ, ΠΏΡ€ΠΈΡˆΠ»ΠΎ Π»ΠΈ врСмя для ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π³ΠΎ шага ΠΊΡ€ΠΎΠ»ΠΈΠΊΠ°.

if (getTimer() > bunny.nextmove) {

// ΠžΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠ΅ врСмя ΠΊΡ€ΠΎΠ»ΠΈΠΊ Π΄Π²ΠΈΠ³Π°Ρ‚ΡŒΡΡ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚.

bunny.nextmove = getTimer() + 60 – gameLevel*10;

// ΠŸΠ΅Ρ€Π΅ΠΌΠ΅Ρ‰Π°Π΅ΠΌ ΠΊΡ€ΠΎΠ»ΠΈΠΊΠ°, bunny.

bunny._x += bunny.move.x*5;

bunny._y += bunny.move.y*5;

// ВыясняСм, дошСл Π»ΠΈ ΠΊΡ€ΠΎΠ»ΠΈΠΊ Π΄ΠΎ полоТСния Ρ†Π΅Π»ΠΈ.

if (bunny._x == bunny.dest.x and bunny._y ==bunny.dest.y) {

// Π‘ΠΎΠ·Π΄Π°Π΅ΠΌ массив с ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚Π°ΠΌΠΈ

// Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹Ρ… ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ ΠΊΡ€ΠΎΠ»ΠΈΠΊΠ°.

possibilities = new Array;

for (i=0; i<berries.length; i++) {

// ΠžΠΏΡ€Π΅Π΄Π΅Π»ΡΠ΅ΠΌ расстояниС ΠΌΠ΅ΠΆΠ΄Ρƒ

// Ρ‚Π΅ΠΊΡƒΡ‰ΠΈΠΌ ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΠΌ ΠΊΡ€ΠΎΠ»ΠΈΠΊΠ° ΠΈ ягодой.

xdiff = Math.abs(berries[i]._x – bunny._x);

ydiff = Math.abs(berries[i]._y – bunny._y);

// Если эта ягода находится рядом…

if ((xdiff == 25 and ydiff == 0) or (xdiff == 0

and ydiff == 25) {

//…тогда Π΅Π΅ ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚

// Π±Ρ‹Ρ‚ΡŒ ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΠΌ Ρ†Π΅Π»ΠΈ ΠΊΡ€ΠΎΠ»ΠΈΠΊΠ°.

possibilities.push(berries[i]);

}

}

// Π‘Ρ€Π΅Π΄ΠΈ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹Ρ… ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Ρ†Π΅Π»ΠΈ Π²Ρ‹Π±ΠΈΡ€Π°Π΅ΠΌ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ»ΡŒΠ½ΠΎΠ΅.

do {

r = int(Math.random()*possibilities.length);

// Π£ΠΊΠ°Π·Ρ‹Π²Π°Π΅ΠΌ Π½ΠΎΠ²ΠΎΠ΅ ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Ρ†Π΅Π»ΠΈ

// ΠΈ Π½Π°ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ двиТСния.

bunny.dest.x = possibilities[r]._x;

bunny.dest.y = possibilities[r]._y;

bunny.move.x = (possibilities[r]._x – bunny._x)/25;

bunny.move.y = (possibilities[r]._y – bunny._y)/25;

// ΠŸΡ€ΠΈΠ½ΠΈΠΌΠ°Π΅ΠΌ Π²Ρ‹Π±Ρ€Π°Π½Π½Ρ‹Π΅ полоТСния, Ссли ΠΊΡ€ΠΎΠ»ΠΈΠΊ

// Π½Π΅ возвращаСтся Π½Π°Π·Π°Π΄ ΠΈΠ»ΠΈ Ссли этот

// ΠΏΡƒΡ‚ΡŒ – СдинствСнно Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹ΠΉ.

} while ((bunny.dest.x = lastx and bunny.dest.y == lasty) and (possibilities.length > 1));

// Π—Π°ΠΏΠΎΠΌΠΈΠ½Π°Π΅ΠΌ ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚Ρ‹ ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰Π΅Π³ΠΎ полоТСния.

lastx = bunny._x;

lasty = bunny._y;

}

}

// ΠŸΡ€ΠΎΠ²Π΅Ρ€ΡΠ΅ΠΌ, находится Π»ΠΈ ΠΊΡ€ΠΎΠ»ΠΈΠΊ поблизости с лисой.

if (Math.abs(bunny._x – fox._x) <= 10 and Math.abs(bunny._y –

fox._y) <= 10 {

if (lives < 1) {

gotoAndStop("game over");

} else {

lives–;

gotoAndStop("lost life");

}

}

}

К свСдСнию

НС Π·Π°Π±ΡƒΠ΄ΡŒΡ‚Π΅, Ρ‡Ρ‚ΠΎ Π½ΡƒΠΆΠ½ΠΎ ΠΏΡ€ΠΈΡΠ²ΠΎΠΈΡ‚ΡŒ ΠΈΠΌΠ΅Π½Π° связи ΠΊΠ»ΠΈΠΏΠ°ΠΌ лисы, ΠΊΡ€ΠΎΠ»ΠΈΠΊΠ° ΠΈ ягоды. Для ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΊΠ°Π΄Ρ€Π°, Π² Ρ‚ΠΎΠΌ числС ΠΈ Π² Π½Π΅Π±ΠΎΠ»ΡŒΡˆΠΈΡ… ΠΊΠ»ΠΈΠΏΠ°Ρ…, Π²Π°ΠΌ понадобится функция stop().

Π”Ρ€ΡƒΠ³ΠΈΠ΅ возмоТности

Π•ΡΡ‚ΡŒ мноТСство способов ΡƒΡΠΎΠ²Π΅Ρ€ΡˆΠ΅Π½ΡΡ‚Π²ΠΎΠ²Π°Ρ‚ΡŒ эту ΠΈΠ³Ρ€Ρƒ. Π£ вас ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ нСсколько ΠΊΡ€ΠΎΠ»ΠΈΠΊΠΎΠ², ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Π΅ ягоды, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π½Π° ΠΊΠΎΡ€ΠΎΡ‚ΠΊΠΎΠ΅ врСмя Π±ΡƒΠ΄ΡƒΡ‚ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡ‚ΡŒ лисС Π³ΠΎΠ½ΡΡ‚ΡŒΡΡ Π·Π° ΠΊΡ€ΠΎΠ»ΠΈΠΊΠΎΠΌ. Π§Π΅Ρ€Π΅Π· ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹Π΅ ΠΏΡ€ΠΎΠΌΠ΅ΠΆΡƒΡ‚ΠΊΠΈ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ ΠΈΠ· Ρ†Π΅Π½Ρ‚Ρ€Π°Π»ΡŒΠ½ΠΎΠΉ области Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹Ρ…ΠΎΠ΄ΠΈΡ‚ΡŒ Π½ΠΎΠ²Ρ‹ΠΉ ΠΊΡ€ΠΎΠ»ΠΈΠΊ, Π° Π² ΠΊΠΎΡ€ΠΈΠ΄ΠΎΡ€Π°Ρ… Π»Π°Π±ΠΈΡ€ΠΈΠ½Ρ‚Π° Π±ΡƒΠ΄ΡƒΡ‚ ΠΏΠΎΡΠ²Π»ΡΡ‚ΡŒΡΡ бонусныС ΠΎΡ‡ΠΊΠΈ.

Π’ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, Π²Π°ΠΌ Π² Π³ΠΎΠ»ΠΎΠ²Ρƒ ΠΏΡ€ΠΈΠ΄ΡƒΡ‚ ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ ΠΈΠ΄Π΅ΠΈ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Ρ‚Π°ΠΊ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΊΡ€ΠΎΠ»ΠΈΠΊ Π±Ρ‹Π» Π±ΠΎΠ»Π΅Π΅ ΡΠΎΠΎΠ±Ρ€Π°Π·ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌ: гонялся Π·Π° лисой сопСрничал с лисой ΠΈ ΠΏΠΎΠ΅Π΄Π°Π» ягоды. МоТно Π½Π°Ρ‡ΠΈΡΠ»ΡΡ‚ΡŒ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ ΠΎΡ‡ΠΊΠΈ Π² ΠΊΠΎΠ½Ρ†Π΅ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ уровня Π² зависимости ΠΎΡ‚ Ρ‚ΠΎΠ³ΠΎ, насколько быстро ΠΎΠ½ Π±Ρ‹Π» ΠΏΡ€ΠΎΠΉΠ΄Π΅Π½.

Π›ΡƒΠ½ΠΎΡ…ΠΎΠ΄

Π˜ΡΡ…ΠΎΠ΄Π½Ρ‹ΠΉΡ‚ Ρ„Π°ΠΉΠ»: Moonlander.fla

Π’ΠΎΡ‚ СшС ΠΎΠ΄Π½Π° классичСская ΠΈΠ³Ρ€Π°. Π˜Π³Ρ€Π° "Π›ΡƒΠ½ΠΎΡ…ΠΎΠ΄" Π±Ρ‹Π»Π°, Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, Π²Ρ‚ΠΎΡ€ΠΎΠΉ ΠΈΠ· ΠΊΠΎΠ³Π΄Π°-Ρ‚ΠΎ созданных ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π½Ρ‹Ρ… ΠΈΠ³Ρ€. Π•Π΅ пСрвая вСрсия ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π°Π»Π°ΡΡŒ для ΡƒΠ½ΠΈΠ²Π΅Ρ€ΡΠ°Π»ΡŒΠ½ΠΎΠΉ Π­Π’Πœ ΠΈ Π±Ρ‹Π»Π° ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ основана Π½Π° тСкстС. ΠšΠ°ΠΆΠ΄ΡƒΡŽ сСкунду ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€ Π² Π²ΠΈΠ΄Π΅ тСкста Π²Ρ‹Π΄Π°Π²Π°Π», Π³Π΄Π΅ Π² Π΄Π°Π½Π½Ρ‹ΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ‚ находится Π»ΡƒΠ½ΠΎΡ…ΠΎΠ΄ ΠΈ ΠΊΠ°ΠΊΠΎΠ²Π° Π΅Π³ΠΎ ΡΠΊΠΎΡ€ΠΎΡΡ‚ΡŒ. По ΠΌΠ΅Ρ€Π΅ сниТСния Π»ΡƒΠ½ΠΎΡ…ΠΎΠ΄Π° ΠΈΠ³Ρ€ΠΎΠΊ ΠΌΠΎΠ³ Π²Π½ΠΎΡΠΈΡ‚ΡŒ ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚ΠΈΠ²Ρ‹.

Π‘ Ρ‚Π΅Ρ… ΠΏΠΎΡ€ ΠΈΠ³Ρ€Π° воссоздавалась Π² Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… графичСских Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π°Ρ…, Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²ΠΎ ΠΈΠ· ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ…, ΠΊΠ°ΠΊ ΠΈ здСсь, использовали Π²ΠΈΠ΄ сбоку (рис. 16.6).

Рисунок 16.6 . Π›ΡƒΠ½ΠΎΡ…ΠΎΠ΄ сниТаСтся, ΠΏΡ‹Ρ‚Π°ΡΡΡŒ ΠΏΡ€ΠΈΠ·Π΅ΠΌΠ»ΠΈΡ‚ΡŒΡΡ Π½Π° ΠΎΠ΄Π½Ρƒ ΠΈΠ· приспособлСнных для этого ΠΏΠ»ΠΎΡ‰Π°Π΄ΠΎΠΊ

Π—Π°Π΄Π°Ρ‡Π° ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°

ЦСль – ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ ΡΡ‚Π°Π½Π΄Π°Ρ€Ρ‚Π½ΡƒΡŽ ΠΈΠ³Ρ€Ρƒ, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ ΠΊΠΎΡ€Π°Π±Π»ΡŒ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΡƒΠ΄Π°Ρ‡Π½ΠΎ ΡΠΎΠ²Π΅Ρ€ΡˆΠΈΡ‚ΡŒ посадку. Он Π½Π°Ρ‡ΠΈΠ½Π°Π΅Ρ‚ своС Π΄Π²ΠΈΠΆΠ΅Π½ΠΈΠ΅ Π²Π²Π΅Ρ€Ρ…Ρƒ экрана, ΠΈΠ³Ρ€ΠΎΠΊ управляСт ΡΠΈΠ»ΡŒΠ½Ρ‹ΠΌ Π²Π΅Ρ€Ρ‚ΠΈΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΌ ускоритСлСм, располоТСнным ΠΏΠΎΠ΄ ΠΊΠΎΡ€Π°Π±Π»Π΅ΠΌ, Π° Ρ‚Π°ΠΊΠΆΠ΅ Π±ΠΎΠ»Π΅Π΅ слабыми ускоритСлями – ΠΏΠΎ Π±ΠΎΠΊΠ°ΠΌ корабля.

Π‘ Ρ‚Π΅Ρ‡Π΅Π½ΠΈΠ΅ΠΌ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ ΠΊΠΎΡ€Π°Π±Π»ΡŒ сниТаСтся ΠΏΠΎΠ΄ воздСйствиСм Π³Ρ€Π°Π²ΠΈΡ‚Π°Ρ†ΠΈΠΈ. Π˜Π³Ρ€ΠΎΠΊ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚ постоянно ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ ускоритСлями, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ Ρƒ корабля ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½Π½Ρ‹ΠΉ запас Π³ΠΎΡ€ΡŽΡ‡Π΅Π³ΠΎ.

Π—Π°Π΄Π°Ρ‡Π° ΠΈΠ³Ρ€ΠΎΠΊΠ° состоит Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΊΠΎΡ€Π°Π±Π»ΡŒ Π² ΠΏΠΎΠ»Π½ΠΎΠΉ сохранности ΡΠΎΠ²Π΅Ρ€ΡˆΠΈΠ» посадку Π½Π° ΠΎΠ΄Π½Ρƒ ΠΈΠ· ΠΎΡ‚Π²Π΅Π΄Π΅Π½Π½Ρ‹Ρ… для этого ΠΏΠ»ΠΎΡ‰Π°Π΄ΠΎΠΊ. Если ΠΎΠ½ сядСт Π½Π΅ Π½Π° ΠΏΠ»ΠΎΡ‰Π°Π΄ΠΊΡƒ ΠΈΠ»ΠΈ ΠΊΠ°ΠΊ-Ρ‚ΠΎ ΠΈΠ½Π°Ρ‡Π΅ коснСтся повСрхности Π»ΡƒΠ½Ρ‹, Ρ‚ΠΎ ΠΏΡ€ΠΎΠΈΠ·ΠΎΠΉΠ΄Π΅Ρ‚ Π²Π·Ρ€Ρ‹Π².

Π’ этой ΠΈΠ³Ρ€Π΅ нСсколько ΡƒΡ€ΠΎΠ²Π½Π΅ΠΉ. Π’ Ρ€ΠΎΠ»ΠΈΠΊΠ΅, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ приводится Π² качСствС ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π°, ΠΈΡ… Ρ‚Ρ€ΠΈ, ΠΈ Π² ΠΊΠ°ΠΆΠ΄ΠΎΠΌ отобраТаСтся Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹ΠΉ Ρ€Π΅Π»ΡŒΠ΅Ρ„.

ΠŸΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²ΠΊΠ° Ρ€ΠΎΠ»ΠΈΠΊΠ°

Π‘Π½Π°Ρ‡Π°Π»Π° рассмотрим ΠΊΠ»ΠΈΠΏ Β«shipΒ». На рис. 16.7 ΠΏΠΎΠΊΠ°Π·Π°Π½ полноэкранный Π²ΠΈΠ΄ ΠΎΠΊΠ½Π° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Flash Π² ΠΌΠΎΠΌΠ΅Π½Ρ‚, ΠΊΠΎΠ³Π΄Π° Π²Ρ‹Π±Ρ€Π°Π½ ΠΊΠ»ΠΈΠΏ корабля. Π’ этом ΠΊΠ»ΠΈΠΏΠ΅ нСсколько ΠΊΠ°Π΄Ρ€ΠΎΠ² с ΠΌΠ΅Ρ‚ΠΊΠ°ΠΌΠΈ: Β«normalΒ», Β«upΒ», Β«leftΒ», Β«rightΒ» ΠΈ Β«explodeΒ».

Рисунок 16.7. Клип Β«shipΒ» Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ ΠΊΠ°Π΄Ρ€Ρ‹: Β«normalΒ», Β«upΒ», Β«leftΒ», Β«rightΒ» ΠΈ Β«explodeΒ»

Π’ ΠΏΠ΅Ρ€Π²ΠΎΠΌ ΠΊΠ°Π΄Ρ€Π΅ прСдставлСн ΠΊΠΎΡ€Π°Π±Π»ΡŒ Π±Π΅Π· Π²ΠΊΠ»ΡŽΡ‡Π΅Π½Π½Ρ‹Ρ… ускоритСлСй. Π’ΠΎ Π²Ρ‚ΠΎΡ€ΠΎΠΌ ΠΊΠ°Π΄Ρ€Π΅ Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ Π³Π»Π°Π²Π½Ρ‹ΠΉ ΡƒΡΠΊΠΎΡ€ΠΈΡ‚Π΅Π»ΡŒ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΏΠΎΠ΄Π½ΠΈΠΌΠ°Π΅Ρ‚ ΠΊΠΎΡ€Π°Π±Π»ΡŒ Π²Π²Π΅Ρ€Ρ…. Π’ Ρ‚Ρ€Π΅Ρ‚ΡŒΠ΅ΠΌ ΠΈ Ρ‡Π΅Ρ‚Π²Π΅Ρ€Ρ‚ΠΎΠΌ ΠΊΠ°Π΄Ρ€Π°Ρ… ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½Ρ‹ Π±ΠΎΠΊΠΎΠ²Ρ‹Π΅ ускоритСли. На рис. 16.7 ΠΏΠΎΠΊΠ°Π·Π°Π½ ΠΊΠ°Π΄Ρ€ Β«leftΒ». ΠžΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, Ρ‡Ρ‚ΠΎ слово Β«leftΒ» ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ ΠΊΠΎΡ€Π°Π±Π»ΡŒ Π±ΡƒΠ΄Π΅Ρ‚ Π΄Π²ΠΈΠ³Π°Ρ‚ΡŒΡΡ Π²Π»Π΅Π²ΠΎ, Π° пламя ускоритСля находится справа.

ΠšΠ°Π΄Ρ€ "explode" прСдставляСт собой Π½Π°Ρ‡Π°Π»ΠΎ нСбольшой Π°Π½ΠΈΠΌΠ°Ρ†ΠΈΠΈ, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ Π»ΡƒΠ½ΠΎΡ…ΠΎΠ΄ взрываСтся. Π­Ρ‚Π° анимация ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Π² Ρ‚ΠΎΠΌ случаС, ΠΊΠΎΠ³Π΄Π° ΠΈΠ³Ρ€ΠΎΠΊ посадил ΠΊΠΎΡ€Π°Π±Π»ΡŒ Π½Π΅ Π½Π° ΠΏΠ»ΠΎΡ‰Π°Π΄ΠΊΡƒ.

Π’ Π΄ΠΎΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΊ ΠΊΠ»ΠΈΠΏΡƒ "background", ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ совсСм Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Π² ΠΊΠΎΠ΄Π΅, Ρ‚Ρ€ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΡ… ΠΊΠ»ΠΈΠΏΠ° ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²Π»ΡΡŽΡ‚ собой Ρ€Π΅Π»ΡŒΠ΅Ρ„ повСрхности для Ρ‚Ρ€Π΅Ρ… ΡƒΡ€ΠΎΠ²Π½Π΅ΠΉ ΠΈΠ³Ρ€Ρ‹. Π­Ρ‚ΠΈ ΠΊΠ»ΠΈΠΏΡ‹ Π½Π°Π·Ρ‹Π²Π°ΡŽΡ‚ΡΡ "Ground – level 1", "Ground – level 2" ΠΈ "Ground – level 3".

Клип "pad" – всСго лишь ΠΆΠ΅Π»Ρ‚Ρ‹ΠΉ ΠΏΡ€ΡΠΌΠΎΡƒΠ³ΠΎΠ»ΡŒΠ½ΠΈΠΊ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ нСпосрСдствСнно ΠΏΠΎΠ΄ Π»ΡƒΠ½ΠΎΡ…ΠΎΠ΄ΠΎΠΌ находится посадочная ΠΏΠ»ΠΎΡ‰Π°Π΄ΠΊΠ°.

Основная врСмСнная шкала этого Ρ€ΠΎΠ»ΠΈΠΊΠ° Π΄Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ слоТная. Π˜Π½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡ ΠΎ ΠΊΠ°Π΄Ρ€Π°Ρ… ΠΈ ΠΈΡ… содСрТимом ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π° Π² Ρ‚Π°Π±Π». 16.1.

Π’Π°Π±Π»ΠΈΡ†Π° 16.1. ΠšΠ°Π΄Ρ€Ρ‹ основной Π²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ ΡˆΠΊΠ°Π»Ρ‹

Π£ вас Ρ‚Π°ΠΊΠΆΠ΅ Π±ΡƒΠ΄Π΅Ρ‚ Π΄Π²Π° простых ΠΊΠ»ΠΈΠΏΠ°: Β«fuel gaugeΒ» ΠΈ Β«fuel meterΒ». ΠŸΠ΅Ρ€Π²Ρ‹ΠΉ прСдставляСт собой пустой ΠΏΡ€ΡΠΌΠΎΡƒΠ³ΠΎΠ»ΡŒΠ½ΠΈΠΊ, Π° Π²Ρ‚ΠΎΡ€ΠΎΠΉ – сплошной. Клип Β«meterΒ» помСщаСтся Π²Π½ΡƒΡ‚Ρ€ΠΈ ΠΊΠ»ΠΈΠΏΠ° Β«gaugeΒ». Π”Π°Π»Π΅Π΅ Π² ΠΊΠΎΠ΄Π΅ Π²Ρ‹ ΡƒΠΊΠ°ΠΆΠ΅Ρ‚Π΅, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΡ€ΠΈ сТигании Π³ΠΎΡ€ΡŽΡ‡Π΅Π³ΠΎ Ρ€Π°Π·ΠΌΠ΅Ρ€Ρ‹ ΠΊΠ»ΠΈΠΏΠ° Β«meterΒ» ΡƒΠΌΠ΅Π½ΡŒΡˆΠ°Π»ΠΈΡΡŒ, Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ ΠΎΠ½ Π±ΡƒΠ΄Π΅Ρ‚ Π·Π°Π½ΠΈΠΌΠ°Ρ‚ΡŒ мСньшС мСста Π² ΠΏΡ€ΡΠΌΠΎΡƒΠ³ΠΎΠ»ΡŒΠ½ΠΈΠΊΠ΅ Β«gaugeΒ».

Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΊΠΎΠ΄Π°

Π’ Ρ‚Ρ€Π΅Ρ… ΠΊΠ°Π΄Ρ€Π°Ρ… Β«level1Β», Β«level2Β» ΠΈ Β«level3Β» Ρƒ вас Π±ΡƒΠ΄ΡƒΡ‚ ΠΊΠ»ΠΈΠΏΡ‹ Β«actionsΒ», ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π²Ρ‹Π·Ρ‹Π²Π°ΡŽΡ‚ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹Π΅ для ΠΈΠ³Ρ€Ρ‹ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ. Π’ Π½Π°Ρ‡Π°Π»Π΅ уровня вызываСтся Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΎΠ΄Π½Π° функция, Π° Π² Ρ‚Π΅Ρ‡Π΅Π½ΠΈΠ΅ ΠΈΠ³Ρ€Ρ‹ постоянно – другая.

onClipEvent(load) {

_root.startLevel();

}

onClipEvent(enterFrame) {

_root.moveShip();

}

ОбС эти Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ располоТСны Π² основной Π²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ шкалС ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ ΠΊΠ°Π΄Ρ€Π°. Π‘Ρ†Π΅Π½Π°Ρ€ΠΈΠΉ Ρ€ΠΎΠ»ΠΈΠΊΠ° начинаСтся с Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ startGame, которая вызываСтся, ΠΊΠΎΠ³Π΄Π° Π² ΠΏΠ΅Ρ€Π²ΠΎΠΌ ΠΊΠ°Π΄Ρ€Π΅ ΠΈΠ³Ρ€ΠΎΠΊ Ρ‰Π΅Π»ΠΊΠ°Π΅Ρ‚ ΠΏΠΎ ΠΊΠ½ΠΎΠΏΠΊΠ΅ Play. Она устанавливаСт Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ gameLevel, ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Π΅ΠΌΠΎΠ΅ Π² тСкстовом ΠΏΠΎΠ»Π΅ Π² Π²Π΅Ρ€Ρ…Π½Π΅ΠΌ ΠΏΡ€Π°Π²ΠΎΠΌ ΡƒΠ³Π»Ρƒ экрана. Π—Π°Ρ‚Π΅ΠΌ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ startLevel начинаСтся ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ ΡƒΡ€ΠΎΠ²Π΅Π½ΡŒ.