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

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

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

function removeAll() {

// УдаляСм всС ΠΊΠ»ΠΈΠΏΡ‹ ΠΏΡƒΠ»ΡŒ.

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

bullets[i].removeMovieClip();

}

// УдаляСм всС ΠΊΠ»ΠΈΠΏΡ‹ астСроидов.

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

rocks[i].removeMovieClip();

}

}

К свСдСнию

Как всСгда, ΡƒΠ±Π΅Π΄ΠΈΡ‚Π΅ΡΡŒ, Ρ‡Ρ‚ΠΎ для ΠΊΠ»ΠΈΠΏΠΎΠ² Π² Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ΅ установлСны свойства связи, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΠ½ΠΈ Π±Ρ‹Π»ΠΈ Π²ΠΊΠ΄ΡŽΡ‡Π΅Π½Ρ‹ Π² swf-Ρ„Π°ΠΉΠ». Бвойства связи Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ для астСроидов ΠΈ ΠΏΡƒΠ»ΡŒ, ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ Π΄ΠΎ Π½Π°Ρ‡Π°Π»Π° ΠΈΠ³Ρ€Ρ‹ ΠΈΡ… Π½Π΅Ρ‚ Π½Π° Ρ€Π°Π±ΠΎΡ‡Π΅ΠΌ ΠΏΠΎΠ»Π΅.

Π― Ρ‚Π°ΠΊΠΆΠ΅ создал Ρ‚Ρ€ΠΈ тСкстовых поля, ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°ΡŽΡˆΠΈΡ… значСния ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… gameLevel, lives ΠΈ score. Π­Ρ‚ΠΈ поля располоТСны Π² Ρ€Π°Π·Π½Ρ‹Ρ… ΡƒΠ³Π»Π°Ρ… экрана, Π½Π°Π΄ Π½ΠΈΠΌΠΈ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ поясняюший тСкст.

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

Π’ Ρ‚Π°ΠΊΠΈΡ… ΠΈΠ³Ρ€Π°Ρ…, ΠΊΠ°ΠΊ «АстСроид», ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡ€ΠΈΠ΄ΡƒΠΌΠ°Ρ‚ΡŒ ΠΌΠ½ΠΎΠ³ΠΎ интСрСсного. НапримСр, врСмя ΠΎΡ‚ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ Π²ΠΎΠΊΡ€ΡƒΠ³ корабля ΠΌΠΎΠΆΠ΅Ρ‚ Π»Π΅Ρ‚Π°Ρ‚ΡŒ нСбольшой ΠΠ›Πž; Ссли ΠΈΠ³Ρ€ΠΎΠΊ Π΅Π³ΠΎ ΡΠΎΠ±ΡŒΠ΅Ρ‚, Ρ‚ΠΎ Π·Π°Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ ΠΎΡ‡ΠΊΠΈ. Π—Π°Ρ‡Π°ΡΡ‚ΡƒΡŽ ΠΊΠΎΡ€Π°Π±Π»ΡŒ оснашСн ΡˆΠΈΡ‚ΠΎΠΌ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π·Π°ΡˆΠΈΡˆΠ°Π΅Ρ‚ Π΅Π³ΠΎ ΠΎΡ‚ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠ³ΠΎ количСства столкновСний. Ѐункция «ГипСрпространство» пСрСносит ΠΊΠΎΡ€Π°Π±Π»ΡŒ Π² ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ»ΡŒΠ½ΡƒΡŽ Ρ‚ΠΎΡ‡ΠΊΡƒ экрана, Π° Β«Π±ΠΎΠΌΠ±Π°Β» Π²Π·Ρ€Ρ‹Π²Π°Π΅Ρ‚ всС астСроиды, находящиСся Π½Π° Π·Π°Π΄Π°Π½Π½ΠΎΠΌ расстоянии ΠΎΡ‚ корабля.

Π­Ρ‚ΠΎ прСвосходная ΠΈΠ³Ρ€Π°, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡˆΠΈΠΉ программист ActionScript ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠΎΠΏΡ€ΠΎΠ±ΠΎΠ²Π°Ρ‚ΡŒ свои силы ΠΈ ΠΏΡ€ΠΈΠΌΠ΅Π½ΠΈΡ‚ΡŒ всС имСюшиСся знания. Π§Π΅ΠΌ Ρ€Π°Π·Π½ΠΎΠΎΠ±Ρ€Π°Π·Π½Π΅Π΅ ΠΈΠ³Ρ€Π°, Ρ‚Π΅ΠΌ Π»ΡƒΡ‡ΡˆΠ΅.

Погоня Π² Π»Π°Π±ΠΈΡ€ΠΈΠ½Ρ‚Π΅

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

Π‘Π»Π΅Π΄ΡƒΡŽΡˆΠ°Ρ ΠΈΠ³Ρ€Π° – "Погоня Π² Π»Π°Π±ΠΈΡ€ΠΈΠ½Ρ‚Π΅" – классичСская аркадная ΠΈΠ³Ρ€Π°. Π‘Π°ΠΌΠΎΠ΅ извСстноС воплошСниС этой ΠΈΠ³Ρ€Ρ‹ – Pac-Man.

Π’ ΠΈΠ³Ρ€Π΅, Ρ„Ρ€Π°Π³ΠΌΠ΅Π½Ρ‚ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ Π½Π° рис. 16.4, лиса Π±Π΅Π³Π°Π΅Ρ‚ Π² Π»Π°Π±ΠΈΡ€ΠΈΠ½Ρ‚Π΅, ΠΏΡ‹Ρ‚Π°ΡΡΡŒ ΡΡŠΠ΅ΡΡ‚ΡŒ всС ягоды. Π’Π°ΠΌ ΠΆΠ΅ Π±Π΅Π³Π°Π΅Ρ‚ Π·Π»ΠΎΠΉ ΠΊΡ€ΠΎΠ»ΠΈΠΊ. Лиса Π΄ΠΎΠ»ΠΆΠ½Π° Π½Π΅ ΡΡ‚ΠΎΠ»ΠΊΠ½ΡƒΡ‚ΡŒΡΡ с ΠΊΡ€ΠΎΠ»ΠΈΠΊΠΎΠΌ, ΠΏΠΎΠΊΠ° Π½Π΅ собСрСт всС ягоды.

Рисунок 16.4. Лиса пытаСтся ΡΠΎΠ±Ρ€Π°Ρ‚ΡŒ всС ягоды, Π² Ρ‚ΠΎ врСмя ΠΊΠ°ΠΊ ΠΊΡ€ΠΎΠ»ΠΈΠΊ стрСмится Π΅Π΅ Π΄ΠΎΠ³Π½Π°Ρ‚ΡŒ

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

Π˜Π³Ρ€Π°, привСдСнная Π² качСствС ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π°, ΠΈΠΌΠ΅Π΅Ρ‚ самыС Π²Π°ΠΆΠ½Ρ‹Π΅ ΠΎΡ‚Π»ΠΈΡ‡ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ Ρ‡Π΅Ρ€Ρ‚Ρ‹ ΠΈΠ³Ρ€Ρ‹-ΠΏΠΎΠ³ΠΎΠ½ΠΈ Π² Π»Π°Π±ΠΈΡ€ΠΈΠ½Ρ‚Π΅. Π―Π³ΠΎΠ΄Ρ‹ ΠΈΡΡ‡Π΅Π·Π°ΡŽΡ‚ с экрана, Ссли лиса ΠΏΡ€ΠΎΡ…ΠΎΠ΄ΠΈΡ‚ Ρ‡Π΅Ρ€Π΅Π· мСсто, Π³Π΄Π΅ ΠΎΠ½ΠΈ находятся. Лиса ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅ΡΡ‚ΠΈΡ‚ΡŒΡΡ с ΠΎΠ΄Π½ΠΎΠΉ стороны экрана Π½Π° Π΄Ρ€ΡƒΠ³ΡƒΡŽ, войдя Π² Ρ‚ΡƒΠ½Π½Π΅Π»ΡŒ справа ΠΈΠ»ΠΈ слСва. Если ΠΊΡ€ΠΎΠ»ΠΈΠΊ Π΄ΠΎΠ³ΠΎΠ½ΠΈΡ‚ лису, Ρ‚ΠΎ ΠΎΠ½Π° тСряСт ΠΎΠ΄Π½Ρƒ Тизнь.

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

Π’ Ρ€ΠΎΠ»ΠΈΠΊΠ΅ Mazechase.fla всСго лишь нСсколько Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅Ρ‡Π½Ρ‹Ρ… эталонов, основными ΠΈΠ· ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΡΠ²Π»ΡΡŽΡ‚ΡΡ Ρ„ΠΎΠ½, лиса, ΠΊΡ€ΠΎΠ»ΠΈΠΊ ΠΈ ягода.

Π‘ΠΎΠ·Π΄Π°Ρ‚ΡŒ Ρ„ΠΎΠ½ просто, Π½ΠΎ Π΄Π΅Π»Π°Ρ‚ΡŒ это слСдуСт Π°ΠΊΠΊΡƒΡ€Π°Ρ‚Π½ΠΎ. ΠŸΡ€Π΅Π΄ΡΡ‚Π°Π²ΡŒΡ‚Π΅ сСбС экран Π² Π²ΠΈΠ΄Π΅ сСтки ΠΈΠ· ΠΊΠ²Π°Π΄Ρ€Π°Ρ‚ΠΎΠ² со стороной 25 пиксСлов. Π―Π³ΠΎΠ΄Ρ‹ Ρ€Π°ΡΠΏΠΎΠ»Π°Π³Π°ΡŽΡ‚ΡΡ Π½Π° всСх пСрСсСчСниях Π»ΠΈΠ½ΠΈΠΉ сСтки, ΠΊΡ€ΠΎΠΌΠ΅ Ρ‚Π΅Ρ…, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ располоТСны Π½Π° Ρ„ΠΎΠ½Π΅, Π° Π½Π΅ Π½Π° Π΄ΠΎΡ€ΠΎΠΆΠΊΠ΅ Π»Π°Π±ΠΈΡ€ΠΈΠ½Ρ‚Π°.

На рис. 16.5 прСдставлСн ΠΊΠ»ΠΈΠΏ "background", для ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½Π° сСтка Ρ€Π°Π·ΠΌΠ΅Ρ€ΠΎΠΌ 25x25. Π‘Π΅Ρ‚ΠΊΡƒ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ, Π²Ρ‹Π±Ρ€Π°Π² ΠΏΡƒΠ½ΠΊΡ‚ мСню View β†’ Grid β†’ Edit Grid (Π’ΠΈΠ΄ β†’ Π‘Π΅Ρ‚ΠΊΠ° β†’ Π Π΅Π΄Π°ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ).

Рисунок 16.5 . Когда Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅ Flash ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½Π° сСтка, ΠΌΠΎΠΆΠ½ΠΎ ΡƒΠ²ΠΈΠ΄Π΅Ρ‚ΡŒ пСрСсСчСния Π»ΠΈΠ½ΠΈΠΉ, Π½Π° ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… появятся ягоды

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

ΠŸΠ΅Ρ€Π²Ρ‹ΠΉ ΠΊΠ°Π΄Ρ€ ΠΊΠ»ΠΈΠΏΠ° "fox" – ΠΎΠ±Ρ‹Ρ‡Π½Ρ‹ΠΉ статичСский ΠΊΠ°Π΄Ρ€, Π² ΠΎΡΡ‚Π°Π»ΡŒΠ½Ρ‹Ρ… ΠΊΠ°Π΄Ρ€Π°Ρ… прСдставлСна нСбольшая анимация – лиса ΡΡŠΠ΅Π΄Π°Π΅Ρ‚ ягоду. Когда это происходит, ΠΊΠ»ΠΈΠΏ воспроизводит Π²Ρ‚ΠΎΡ€ΠΎΠΉ ΠΊΠ°Π΄Ρ€: ΠΈΠ³Ρ€ΠΎΠΊ Π²ΠΈΠ΄ΠΈΡ‚, ΠΊΠ°ΠΊ лиса Сст ягоду, Π° Π·Π°Ρ‚Π΅ΠΌ ΠΊΠ»ΠΈΠΏ Π²ΠΎΠ·Π²Ρ€Π°ΡˆΠ°Π΅Ρ‚ΡΡ ΠΊ ΠΏΠ΅Ρ€Π²ΠΎΠΌΡƒ ΠΊΠ°Π΄Ρ€Ρƒ.

Π’ ΠΊΠ»ΠΈΠΏΠ΅ "berry" Π΄Π²Π° ΠΊΠ°Π΄Ρ€Π°: ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ содСрТит ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ ягоды, Π° Π²Ρ‚ΠΎΡ€ΠΎΠΉ пустой. Когда лиса ΡΡŠΠ΅Π΄Π°Π΅Ρ‚ ягоду, ΠΊΠ»ΠΈΠΏ ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ΠΈΡ‚ ΠΊΠΎ Π²Ρ‚ΠΎΡ€ΠΎΠΌΡƒ ΠΊΠ°Π΄Ρ€Ρƒ. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, ΠΊΠ»ΠΈΠΏΡ‹ ΠΎΡΡ‚Π°ΡŽΡ‚ΡΡ Π½Π° Ρ€Π°Π±ΠΎΡ‡Π΅ΠΌ ΠΏΠΎΠ»Π΅, Π½ΠΎ ΠΎΠ½ΠΈ Π²ΠΈΠ΄Π½Ρ‹ Π΄ΠΎ Ρ‚Π΅Ρ… ΠΏΠΎΡ€, ΠΏΠΎΠΊΠ° ягода Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ съСдСна.

Клип "bunny" прСдставляСт собой Π°Π½ΠΈΠΌΠ°Ρ†ΠΈΡŽ: ΠΊΡ€ΠΎΠ»ΠΈΠΊ всСгда двигаСтся, Ρ‚Π°ΠΊ Ρ‡Ρ‚ΠΎ Π½Π΅Ρ‚ нСобходимости ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ статичСский ΠΊΠ°Π΄Ρ€.

ВсС ΠΊΠ»ΠΈΠΏΡ‹, ΠΊΡ€ΠΎΠΌΠ΅ "background", Π½Π΅ Π±ΡƒΠ΄ΡƒΡ‚ Π²ΠΈΠ΄Π½Ρ‹ Π΄ΠΎ Ρ‚Π΅Ρ… ΠΏΠΎΡ€, ΠΏΠΎΠΊΠ° Π½Π΅ начнСтся Ρ€ΠΎΠ»ΠΈΠΊ ΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° Π½Π΅ создаст ΠΈΡ… с помошью ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ attachMovie.

Π’ Ρ€ΠΎΠ»ΠΈΠΊΠ΅ содСрТатся практичСски Ρ‚Π°ΠΊΠΈΠ΅ ΠΆΠ΅ ΠΊΠ°Π΄Ρ€Ρ‹, Ρ‡Ρ‚ΠΎ ΠΈ Π² Ρ€ΠΎΠ»ΠΈΠΊΠ΅ ΠΈΠ³Ρ€Ρ‹ "Space Rocks": "start", "play", "lose life", "level over" ΠΈ "game over".

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

Π’ ΠΏΠ΅Ρ€Π²ΠΎΠΌ ΠΊΠ°Π΄Ρ€Π΅ содСрТится копия ΠΊΠ½ΠΎΠΏΠΊΠΈ Play (ΠΠ°Ρ‡Π°Ρ‚ΡŒ ΠΈΠ³Ρ€Ρƒ). Π‘Ρ†Π΅Π½Π°Ρ€ΠΈΠΉ этого ΠΊΠ°Π΄Ρ€Π° Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄ΠΈΡ‚ Ρ€ΠΎΠ»ΠΈΠΊ ΠΊ ΠΊΠ°Π΄Ρ€Ρƒ Β«playΒ», Π½ΠΎ ΠΈ устанавливаСт нСсколько ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ….

on (press) {

lives = 3;

score = 0;

gameLevel = 1;

gotoAndPlay("play");

}

Π’ ΠΊΠ°Π΄Ρ€Π΅ Β«playΒ» содСрТится ΠΊΠ»ΠΈΠΏ Β«actionsΒ» с ΠΏΡ€ΠΈΠΊΡ€Π΅ΠΏΠ»Π΅Π½Π½Ρ‹ΠΌ ΠΊ Π½Π΅ΠΌΡƒ сцСнариСм. Π­Ρ‚ΠΎΡ‚ сцСнарий ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·ΠΈΡ€ΡƒΠ΅Ρ‚ всС элСмСнты Π² Π½Π°Ρ‡Π°Π»Π΅ ΠΈΠ³Ρ€Ρ‹, послС Ρ‚ΠΎΠ³ΠΎ ΠΊΠ°ΠΊ лиса тСряСт Тизнь ΠΈ ΠΏΠ΅Ρ€Π΅Π΄ Π½Π°Ρ‡Π°Π»ΠΎΠΌ Π½ΠΎΠ²ΠΎΠ³ΠΎ уровня. Он Ρ‚Π°ΠΊΠΆΠ΅ Π²Ρ‹Π·Ρ‹Π²Π°Π΅Ρ‚ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ move ΠΈ moveBunny для продолТСния ΠΈΠ³Ρ€Ρ‹.

onClipEvent(load) {

// Π˜Π½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·ΠΈΡ€ΡƒΠ΅ΠΌ исходныС элСмСнты.

_root.startLevel();

}

onClipEvent(enterFrame) {

// ΠŸΠ΅Ρ€Π΅ΠΌΠ΅Ρ‰Π°Π΅ΠΌ лису.

_root.move();

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

_root.moveBunny();

}

ВсС Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ этой ΠΈΠ³Ρ€Ρ‹ ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΠΉΡ‚ΠΈ Π² сцСнарии основной Π²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ ΡˆΠΊΠ°Π»Ρ‹ для ΠΊΠ°Π΄Ρ€Π° Β«playΒ». Π‘Π½Π°Ρ‡Π°Π»Π° ΠΈΠ΄Π΅Ρ‚ функция startLevel.

Основная Ρ€Π°Π±ΠΎΡ‚Π° Π΄Π°Π½Π½ΠΎΠΉ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Π·Π°ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ Π² создании ягод. Для этого ΠΏΡ€ΠΎΡΠΌΠ°Ρ‚Ρ€ΠΈΠ²Π°ΡŽΡ‚ΡΡ всС 15 ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ ΠΏΠΎ Π²Π΅Ρ€Ρ‚ΠΈΠΊΠ°Π»ΠΈ ΠΈ 21 ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΏΠΎ Π³ΠΎΡ€ΠΈΠ·ΠΎΠ½Ρ‚Π°Π»ΠΈ ΠΈ провСряСтся, Π½Π΅ располоТСны Π»ΠΈ ΠΎΠ½ΠΈ ΠΏΠΎΠ²Π΅Ρ€Ρ… ΠΊΠ»ΠΈΠΏΠ° "background". Если Π½Π΅Ρ‚, Ρ‚ΠΎ Π½Π° пСрСсСчСнии Π»ΠΈΠ½ΠΈΠΉ сСтки ΠΏΠΎΠΌΠ΅ΡˆΠ°ΡŽΡ‚ΡΡ ΠΊΠ»ΠΈΠΏΡ‹ "berry", Π° Π² массив berries Π΄ΠΎΠ±Π°Π²Π»ΡΡŽΡ‚ΡΡ ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»ΠΈ Π½Π° эти ΠΊΠ»ΠΈΠΏΡ‹.

Π’Π°ΠΊΠΆΠ΅ эта функция создаСт экзСмпляры ΠΊΠ»ΠΈΠΏΠΎΠ² "fox" ΠΈ "bunny", создаСт ΠΈ устанавливаСт нСсколько Π½ΠΎΠ²Ρ‹Ρ… свойств для ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΊΠ»ΠΈΠΏΠ°, Π² Ρ‚ΠΎΠΌ числС ΠΈ dest (Π½ΠΎΠ²ΠΎΠ΅ ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅)....

Π‘ΠΎΠ²Π΅Ρ‚

ΠžΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, Ρ‡Ρ‚ΠΎ свойство dest для ΠΊΠ»ΠΈΠΏΠΎΠ² Β«foxΒ» ΠΈ Β«bunnyΒ» прСдставляСт собой просто ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚Ρƒ: {x:275, y:275}. Благодаря этому Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ упрощаСтся ΠΎΠ±Ρ€Π°Ρ‰Π΅Π½ΠΈΠ΅ ΠΊ Π΄Π°Π½Π½Ρ‹ΠΌ Π²Π΅Π»ΠΈΡ‡ΠΈΠ½Π°ΠΌ. НапримСр, ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠ±Ρ€Π°Ρ‚ΠΈΡ‚ΡŒΡΡ ΠΊ Π½ΠΎΠ²ΠΎΠΌΡƒ Π³ΠΎΡ€ΠΈΠ·ΠΎΠ½Ρ‚Π°Π»ΡŒΠ½ΠΎΠΌΡƒ полоТСнию ΠΊΠ»ΠΈΠΏΠ°, записав fox.dest.x.

function startLevel() {

level = 0;

// Π‘ΠΎΠ·Π΄Π°Π΅ΠΌ ягоды.

berries = new Array();

// Π˜Ρ‰Π΅ΠΌ пСрСсСчСния Π»ΠΈΠ½ΠΈΠΉ сСтки.

for (y=1; y<16; y++) {

for (x=1; x<22; x++) {

// ВыясняСм, располоТСны Π»ΠΈ пСрСсСчСния ΠΏΠΎΠ²Π΅Ρ€Ρ… Ρ„ΠΎΠ½Π°.

if (!(background.hitTest(x*25,y*25,true))) {

// Π‘ΠΎΠ·Π΄Π°Π΅ΠΌ ΠΈ Ρ€Π°Π·ΠΌΠ΅Ρ‰Π°Π΅ΠΌ ΠΊΠ»ΠΈΠΏ "berry".

attachMovie ("berry", "berry"+level, level);

clip = _root["berry"+level];

clip._x = x*25;

clip._y = y*25;

// ДобавляСм ΠΊΠ»ΠΈΠΏ Π² массив berries.

berries.push(clip);

level++;

}

}

}

// Π‘ΠΎΠ·Π΄Π°Π΅ΠΌ ΠΊΠ»ΠΈΠΏ с лисой ΠΈ опрСдСляСм Π΅Π³ΠΎ ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅.

attachMovie("fox", "fox", level++);

fox._x = 275;

fox._y = 275;

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

fox.move = {x:0; y:0};

fox.dest = {x:275, y:275};

fox.nextmove = 0;

// Π‘ΠΎΠ·Π΄Π°Π΅ΠΌ ΠΈ Ρ€Π°Π·ΠΌΠ΅Ρ‰Π°Π΅ΠΌ ΠΊΠ»ΠΈΠΏ с ΠΊΡ€ΠΎΠ»ΠΈΠΊΠΎΠΌ.

attachMovie("bunny", "bunny", level++);

bunny._x = 275;

bunny._y = 125;

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

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

bunny.move = {x:1, y:0};

bunny.dest = {x:300, y:125};

bunny.nextmove = 0;

bunny.last = {x:275, y:125};

}

Π’ ΠΊΠ°ΠΆΠ΄ΠΎΠΌ ΠΊΠ°Π΄Ρ€Π΅ вызываСтся функция move, которая ΠΏΠ΅Ρ€Π΅Π΄Π²ΠΈΠ³Π°Π΅Ρ‚ ΠΊΠ»ΠΈΠΏ с лисой Π² соотвСтствии с ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠΌ move. Π’ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ содСрТится ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎΠ΅ условиС, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΌΠΎΠΆΠ½ΠΎ Π±Ρ‹Π»ΠΎ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ, ΠΏΠ΅Ρ€Π΅ΠΌΠ΅ΡˆΠ°Π΅Ρ‚ΡΡ Π»ΠΈ лиса Π·Π° ΠΏΡ€Π΅Π΄Π΅Π»Ρ‹ экрана справа ΠΈΠ»ΠΈ слСва, ΠΈ Ссли Π΄Π°, Ρ‚ΠΎ лиса появляСтся Π½Π° ΠΏΡ€ΠΎΡ‚ΠΈΠ²ΠΎΠΏΠΎΠ»ΠΎΠΆΠ½ΠΎΠΉ сторонС (ΠΏΠΎ Ρ‚ΠΎΠ½Π½Π΅Π»ΡŽ лиса ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ΠΈΡ‚ΡŒ с ΠΎΠ΄Π½ΠΎΠΉ стороны экрана Π½Π° Π΄Ρ€ΡƒΠ³ΡƒΡŽ).

НовоС ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Ρ†Π΅Π»ΠΈ ΠΊΠ°ΠΊ для лисы, Ρ‚Π°ΠΊ ΠΈ для ΠΊΡ€ΠΎΠ»ΠΈΠΊΠ° – всСгда ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚Ρ‹ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΉ ягоды. Π”Π°ΠΆΠ΅ Ссли ягоду Π½Π΅ Π²ΠΈΠ΄Π½ΠΎ, ΠΊΠ»ΠΈΠΏ всС Ρ€Π°Π²Π½ΠΎ находится Π½Π° своСм мСстС. Когда лиса Π΄ΠΎΡ…ΠΎΠ΄ΠΈΡ‚ Π΄ΠΎ ягоды, ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚Ρ‹ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ ΡΠΎΠ²ΠΏΠ°Π΄Π°ΡŽΡ‚ со значСниями ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° fox.dest, вызываСтся функция eatBerry, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡƒΠ΄Π°Π»ΠΈΡ‚ΡŒ ягоду, Ссли ΠΎΠ½Π° всС СшС Π²ΠΈΠ΄Π½Π°. Π—Π°Ρ‚Π΅ΠΌ с помошью Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ nextMove ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡŽΡ‚ΡΡ ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚Ρ‹ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π³ΠΎ полоТСния Ρ†Π΅Π»ΠΈ.

ΠžΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, Ρ‡Ρ‚ΠΎ лиса ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ Ρ€Π°Π· ΠΏΠ΅Ρ€Π΅ΠΌΠ΅ΡˆΠ°Π΅Ρ‚ΡΡ Π½Π° ΠΏΡΡ‚ΡŒ пиксСлов. Π’Π°ΠΊ ΠΊΠ°ΠΊ всС ягоды располоТСны Π½Π° расстоянии 25 пиксСлов Π΄Ρ€ΡƒΠ³ ΠΎΡ‚ Π΄Ρ€ΡƒΠ³Π°, Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π΄ΠΎΠΉΡ‚ΠΈ Π΄ΠΎ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΉ ягоды, Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ ΠΏΡΡ‚ΡŒ шагов. Π‘ΠΊΠΎΡ€ΠΎΡΡ‚ΡŒ пСрСдвиТСния лисы – число, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ прибавляСтся ΠΊ свойству nextMove. Π’ Π΄Π°Π½Π½ΠΎΠΌ случаС добавляСтся число 50, Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ ΠΌΠ΅ΠΆΠ΄Ρƒ шагами ΠΏΡ€ΠΎΠΉΠ΄Π΅Ρ‚, ΠΏΠΎ ΠΊΡ€Π°ΠΉΠ½Π΅ΠΉ ΠΌΠ΅Ρ€Π΅, 50 миллисСкунд.

function move() {

// ВыясняСм, ΠΌΠΎΠΆΠ½ΠΎ Π»ΠΈ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ шаг.

if (getTimer() > 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.y)) {

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)) {