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

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

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

ΠŸΠ΅Ρ€Π΅ΠΌΠ΅Ρ‰Π΅Π½ΠΈΠ΅ ΠΈΠ³Ρ€ΠΎΠΊΠ° Π² этой ΠΈΠ³Ρ€Π΅ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚ ΠΏΡ€ΠΎΠΊΡ€ΡƒΡ‚ΠΊΡƒ всСго ΠΈΠ³Ρ€ΠΎΠ²ΠΎΠ³ΠΎ пространства, Π² Ρ‚ΠΎ врСмя ΠΊΠ°ΠΊ ΠΈΠ³Ρ€ΠΎΠΊ Π½Π° самом Π΄Π΅Π»Π΅ всС врСмя находится Π² Ρ†Π΅Π½Ρ‚Ρ€Π΅ экрана. ΠžΡ‰ΡƒΡ‰Π΅Π½ΠΈΠ΅ двиТСния лисы Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ‚ Π·Π° счСт Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎ Π² ΠΈΠ³Ρ€Π΅ двиТСтся всС, ΠΊΡ€ΠΎΠΌΠ΅ самой лисы.

ΠšΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΎΡ€Π΅Ρ… добавляСт ΠΈΠ³Ρ€ΠΎΠΊΡƒ 100 ΠΎΡ‡ΠΊΠΎΠ². Лиса Π΄ΠΎΠ»ΠΆΠ½Π° ΡΠΎΠ±ΠΈΡ€Π°Ρ‚ΡŒ ΠΎΡ€Π΅Ρ…ΠΈ ΠΈ ΠΈΠ·Π±Π΅Π³Π°Ρ‚ΡŒ ΠΊΡ€ΠΎΠ»ΠΈΠΊΠΎΠ².

Π”ΠΈΠ·Π°ΠΉΠ½ ΠΈΠ³Ρ€ΠΎΠ²ΠΎΠ³ΠΎ пространства ΠΎΡ‡Π΅Π½ΡŒ Π»Π΅ΠΊΠ³ΠΎ ΡƒΡΠ»ΠΎΠΆΠ½ΠΈΡ‚ΡŒ. ПослС Ρ‚ΠΎΠ³ΠΎ ΠΊΠ°ΠΊ ΠΌΡ‹ Π·Π°ΠΊΠΎΠ½Ρ‡ΠΈΠΌ Ρ€Π°Π·Π±ΠΈΡ€Π°Ρ‚ΡŒ процСсс создания этого Ρ€ΠΎΠ»ΠΈΠΊΠ°, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ собствСнный Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ уровня ΠΈΠ³Ρ€Ρ‹.

ΠŸΠΎΠ΄Ρ…ΠΎΠ΄

ΠŸΡ€ΠΎΡΡ‚Ρ€Π°Π½ΡΡ‚Π²ΠΎ ΠΈΠ³Ρ€Ρ‹ прСдставляСт собой массив Π½Π΅Π±ΠΎΠ»ΡŒΡˆΠΈΡ… ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ². Π­Ρ‚ΠΈ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ ΠΈΠΌΠ΅ΡŽΡ‚ свойство type, ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠ΅ ΠΊΠ»ΠΈΠΏΡƒ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π±ΡƒΠ΄Π΅Ρ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ. Клип ΠΈΠΌΠ΅Π΅Ρ‚ свойства x ΠΈ y, ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅ΡΡŽΡ‰ΠΈΠ΅ Π΅Π³ΠΎ мСстополоТСниС. Π’ΠΎΡ‚, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΊΠ°ΠΊ ΠΌΠΎΠΆΠ΅Ρ‚ Π²Ρ‹Π³Π»ΡΠ΄Π΅Ρ‚ΡŒ Ρ‚Π°ΠΊΠΎΠΉ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚: {type: Β«boxΒ», x:100, y: 0}.

Π˜Π³Ρ€ΠΎΠΊ Π½Π°Ρ‡ΠΈΠ½Π°Π΅Ρ‚ Π² ΠΏΠΎΠ·ΠΈΡ†ΠΈΠΈ (0, 0). Если ΠΎΠ½ пСрСдвигаСтся Π²ΠΏΡ€Π°Π²ΠΎ, Ρ‚ΠΎ Π΅Π³ΠΎ позиция ΠΏΠΎ x увСличиваСтся. Если Π±Π»ΠΎΠΊ находится Π² ΠΏΠΎΠ·ΠΈΡ†ΠΈΠΈ 0 ΠΏΠΎ x, Π° ΠΈΠ³Ρ€ΠΎΠΊ – Π² ΠΏΠΎΠ·ΠΈΡ†ΠΈΠΈ 100, это Π·Π½Π°Ρ‡ΠΈΡ‚, Ρ‡Ρ‚ΠΎ Π±Π»ΠΎΠΊ располагаСтся Π½Π° 100 пиксСлов ΠΏΡ€Π°Π²Π΅Π΅ ΠΈΠ³Ρ€ΠΎΠΊΠ°. Если ΠΆΠ΅ ΠΈΠ³Ρ€ΠΎΠΊ смСщаСтся Π² ΠΏΠΎΠ·ΠΈΡ†ΠΈΡŽ 10 ΠΏΠΎ x, Ρ‚ΠΎ Π±Π»ΠΎΠΊ Π±ΡƒΠ΄Π΅Ρ‚ Π½Π°Ρ…ΠΎΠ΄ΠΈΡ‚ΡŒΡΡ Π½Π° 90 пиксСлов ΠΏΡ€Π°Π²Π΅Π΅.

Лиса Π½Π΅ пСрСмСщаСтся ΠΏΠΎ Π³ΠΎΡ€ΠΈΠ·ΠΎΠ½Ρ‚Π°Π»ΠΈ, Π° всСгда находится Π² Ρ†Π΅Π½Ρ‚Ρ€Π΅ экрана. ВсС ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ ΠΏΡ€ΠΎΡ€ΠΈΡΠΎΠ²Ρ‹Π²Π°ΡŽΡ‚ΡΡ Π² соотвСтствии с ΠΈΡ… расстояниСм ΠΎΡ‚ лисы. Когда Ρ€Π΅Ρ‡ΡŒ ΠΈΠ΄Π΅Ρ‚ ΠΎ пСрСдвиТСниях лисы, имССтся Π² Π²ΠΈΠ΄Ρƒ Π΅Π΅ Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½ΠΎΠ΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Ρ‰Π΅Π½ΠΈΠ΅ ΠΏΠΎ пространству ΠΈΠ³Ρ€Ρ‹, Π° Π½Π΅ ΠΏΠΎ экрану.

ΠžΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ областСй, Π² ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ (Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ) ΠΏΠ΅Ρ€Π΅Π΄Π²ΠΈΠΆΠ΅Π½ΠΈΠ΅ лисы, являСтся ваТнСйшСй Π·Π°Π΄Π°Ρ‡Π΅ΠΉ этой ΠΈΠ³Ρ€Ρ‹. Если лиса упираСтся Π² Π±Π»ΠΎΠΊ, ΠΎΠ½Π° Π΄ΠΎΠ»ΠΆΠ½Π° ΠΎΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ своС ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Ρ‰Π΅Π½ΠΈΠ΅ Π² этой ΠΏΠΎΠ·ΠΈΡ†ΠΈΠΈ.

Π­Ρ‚Π° Π·Π°Π΄Π°Ρ‡Π° Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π° посрСдством постоянного сравнСния полоТСния лисы с полоТСниями всСх Π±Π»ΠΎΠΊΠΎΠ². Если Π±Π»ΠΎΠΊ находится ΠΊ ΠΈΠ³Ρ€ΠΎΠΊΡƒ Π±Π»ΠΈΠΆΠ΅ Π΄Ρ€ΡƒΠ³ΠΈΡ… Π±Π»ΠΎΠΊΠΎΠ² Π² этом Π½Π°ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠΈ, Ρ‚ΠΎΠ³Π΄Π° Π΅Π³ΠΎ ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚Ρ‹ ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°ΡŽΡ‚ΡΡ Π·Π° ΡΠ°ΠΌΡƒΡŽ Π΄Π°Π»Π΅ΠΊΡƒΡŽ Ρ‚ΠΎΡ‡ΠΊΡƒ Π² Π΄Π°Π½Π½ΠΎΠΌ Π½Π°ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠΈ, Π΄ΠΎ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Ρ‰Π΅Π½ΠΈΠ΅ лисы. НапримСр, Ссли Π±Π»ΠΎΠΊ находится Π½Π° расстоянии 200 пиксСлов Π²ΠΏΡ€Π°Π²ΠΎ ΠΎΡ‚ лисы, Π·Π½Π°Ρ‡ΠΈΡ‚, лиса Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Ρ‰Π΅Π½Π° Π΄Π°Π»Π΅Π΅ Ρ‡Π΅ΠΌ Π½Π° 200 пиксСлов Π²ΠΏΡ€Π°Π²ΠΎ. Если ΠΆΠ΅ Π² процСссС ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ всСх ΠΎΡΡ‚Π°Π»ΡŒΠ½Ρ‹Ρ… Π±Π»ΠΎΠΊΠΎΠ² ΠΎΠ±Π½Π°Ρ€ΡƒΠΆΠ΅Π½ Π±Π»ΠΎΠΊ, находящийся Π½Π° расстоянии 100 пиксСлов ΠΎΡ‚ лисы, Ρ‚ΠΎ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ 100 принимаСтся ΠΊΠ°ΠΊ максимальноС для Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΠ³ΠΎ пСрСмСщСния лисы Π² Π΄Π°Π½Π½ΠΎΠΌ Π½Π°ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠΈ.

Π’ΠΎ ΠΆΠ΅ самоС происходит ΠΈ ΠΏΠΎ Π²Π΅Ρ€Ρ‚ΠΈΠΊΠ°Π»ΠΈ. Когда лиса ΠΏΡ€Ρ‹Π³Π°Π΅Ρ‚, Π΅ΠΉ пСрСдаСтся Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ скорости ΠΏΠΎ Π²Π΅Ρ€Ρ‚ΠΈΠΊΠ°Π»ΠΈ. ΠŸΡ€ΠΈ ΠΊΠ°ΠΆΠ΄ΠΎΠΌ ΠΎΠ±Ρ€Π°Ρ‰Π΅Π½ΠΈΠΈ ΠΊ ΠΊΠ°Π΄Ρ€Ρƒ эта ΡΠΊΠΎΡ€ΠΎΡΡ‚ΡŒ рСгулируСтся Π·Π° счСт воздСйствия силы тяТСсти, Ρ‚Π°ΠΊ Ρ‡Ρ‚ΠΎ лиса постСпСнно замСдляСтся, Π° Π·Π°Ρ‚Π΅ΠΌ ΠΏΠ°Π΄Π°Π΅Ρ‚ ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎ Π²Π½ΠΈΠ·. ВсС ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ ΠΈΠ³Ρ€ΠΎΠ²ΠΎΠ³ΠΎ пространства ΠΏΡ€ΠΎΠ²Π΅Ρ€ΡΡŽΡ‚ΡΡ для опрСдСлСния Π½Π°ΠΈΠ²Ρ‹ΡΡˆΠ΅ΠΉ ΠΈ наинизшСй Ρ‚ΠΎΡ‡Π΅ΠΊ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΠ³ΠΎ двиТСния лисы. Когда лиса достигаСт низшСй Ρ‚ΠΎΡ‡ΠΊΠΈ, Π²Π΅Ρ€Ρ‚ΠΈΠΊΠ°Π»ΡŒΠ½ΠΎΠ΅ Π΄Π²ΠΈΠΆΠ΅Π½ΠΈΠ΅ прСкращаСтся. Π­Ρ‚ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ самый Π½ΠΈΠ·ΠΊΠΈΠΉ ΡƒΡ€ΠΎΠ²Π΅Π½ΡŒ ("зСмля") ΠΈΠ»ΠΈ ΠΎΠ΄Π½Π° ΠΈΠ· ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌ Π΄Ρ€ΡƒΠ³ΠΈΡ… ΡƒΡ€ΠΎΠ²Π½Π΅ΠΉ.

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

Π ΠΎΠ»ΠΈΠΊ содСрТит всСго Ρ‡Π΅Ρ‚Ρ‹Ρ€Π΅ ΠΊΠ»ΠΈΠΏΠ°. Клип Β«foxΒ» содСрТит Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ количСство ΠΊΠ°Π΄Ρ€ΠΎΠ². Π’ ΠΏΠ΅Ρ€Π²ΠΎΠΌ ΠΊΠ°Π΄Ρ€Π΅ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½Π° нСподвиТная лиса, Π΄Π°Π»Π΅Π΅ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ количСство ΠΊΠ°Π΄Ρ€ΠΎΠ² ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ°ΡŽΡ‚ Π°Π½ΠΈΠΌΠ°Ρ†ΠΈΡŽ Π±Π΅Π³ΡƒΡ‰Π΅ΠΉ (Π² ΠΎΠ΄Π½ΠΎΠΌ Π½Π°ΠΏΡ€Π²Π»Π΅Π½ΠΈΠΈ) лисы, ΠΈ послСдниС ΠΊΠ°Π΄Ρ€Ρ‹ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ°ΡŽΡ‚ лису Π² ΠΏΡ€Ρ‹ΠΆΠΊΠ΅. Имя экзСмпляра этого ΠΊΠ»ΠΈΠΏΠ° Π½Π° Ρ€Π°Π±ΠΎΡ‡Π΅ΠΌ столС Ρ‚Π°ΠΊΠΆΠ΅ Β«foxΒ»; для экзСмпляра выставлСн ΠΌΠ°ΡΡˆΡ‚Π°Π± 25 %.

Клип "box" – это просто ΠΊΠΎΡ€ΠΈΡ‡Π½Π΅Π²Ρ‹ΠΉ ΠΊΠ²Π°Π΄Ρ€Π°Ρ‚ Ρ€Π°Π·ΠΌΠ΅Ρ€ΠΎΠΌ 50x50. Π­Ρ‚ΠΎΡ‚ ΠΊΠ»ΠΈΠΏ содСрТит ΠΎΠ΄ΠΈΠ½ ΠΊΠ°Π΄Ρ€.

Клип "acorn" начинаСтся с ΠΊΠ°Π΄Ρ€Π° со статичным ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ΠΌ ΠΎΡ€Π΅Ρ…Π°. Π’ этом ΠΊΠ°Π΄Ρ€Π΅ находится ΠΊΠΎΠΌΠ°Π½Π΄Π° stop(). ΠžΡΡ‚Π°Π»ΡŒΠ½Π°Ρ Ρ‡Π°ΡΡ‚ΡŒ ΠΊΠ»ΠΈΠΏΠ° ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ°Π΅Ρ‚ постСпСнноС появлСниС числа "100". Π­Ρ‚Π° анимация проигрываСтся, ΠΊΠΎΠ³Π΄Π° ΠΈΠ³Ρ€ΠΎΠΊ Π±Π΅Ρ€Π΅Ρ‚ ΠΎΡ€Π΅Ρ… ΠΈ Π΅ΠΌΡƒ Π½Π°Ρ‡ΠΈΡΠ»ΡΡŽΡ‚ΡΡ ΠΎΡ‡ΠΊΠΈ.

Клип "bunny" состоит ΠΈΠ· Π΄Π²ΡƒΡ… ΠΊΠ°Π΄Ρ€ΠΎΠ² ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ°ΡŽΡ‰ΠΈΡ… ΠΊΡ€ΠΎΠ»ΠΈΠΊΠ°, ΡˆΠ΅Π²Π΅Π»ΡΡ‰Π΅Π³ΠΎ Π»Π°ΠΏΠΊΠ°ΠΌΠΈ. Π­Ρ‚Π° анимация Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ нСзависимо ΠΎΡ‚ направлСния пСрСмСщСния ΠΊΡ€ΠΎΠ»ΠΈΠΊΠ°.

Клипам "box", "acorn" ΠΈ "bunny" Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΏΡ€ΠΈΡΠ²ΠΎΠΈΡ‚ΡŒ ΠΈΠΌΠ΅Π½Π° Π² ΠΏΠ°Π½Π΅Π»ΠΈ Linkage Properties, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π±Ρ‹Π» Π²ΠΎΠ·ΠΌΠΎΠΆΠ΅Π½ ΠΈΡ… экспорт.

Π’ Π³Π»Π°Π²Π½ΠΎΠΉ Π²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ шкалС находятся Ρ‚Ρ€ΠΈ ΠΊΠ°Π΄Ρ€Π°. ΠŸΠ΅Ρ€Π²Ρ‹ΠΉ содСрТит инструкции ΠΈ ΠΊΠ½ΠΎΠΏΠΊΡƒ Play, послСдний содСрТит сообщСниС "Game Over". Π’ срСднСм ΠΊΠ°Π΄Ρ€Π΅ "Play" находится лиса ΠΈ Ρ„ΠΎΠ½, ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ°ΡŽΡ‰ΠΈΠΉ зСмлю. ВсС ΠΎΡΡ‚Π°Π»ΡŒΠ½Ρ‹Π΅ элСмСнты Π±ΡƒΠ΄ΡƒΡ‚ созданы ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎ ΠΏΡ€ΠΈ запускС ΠΈΠ³Ρ€Ρ‹.

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

Π—Π° нСбольшими ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡΠΌΠΈ вСсь ΠΊΠΎΠ΄ этой ΠΈΠ³Ρ€Ρ‹ находится Π² ΠΊΠ°Π΄Ρ€Π΅ Β«PlayΒ». Он начинаСтся с Π²Ρ‹Π·ΠΎΠ²Π° Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ startGame. Она ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·ΠΈΡ€ΡƒΠ΅Ρ‚ Π½Π°Π±ΠΎΡ€ констант Ρ‚Π°ΠΊΠΈΡ… ΠΊΠ°ΠΊ ΡΠΊΠΎΡ€ΠΎΡΡ‚ΡŒ лисы ΠΈ ΠΊΡ€ΠΎΠ»ΠΈΠΊΠ°, устанавливаСт Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎΠ΅ ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ лисы ΠΈ Π²Ρ‹Π·Ρ‹Π²Π°Π΅Ρ‚ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ createWorld ΠΈ creatOjects, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΡΠΎΠ·Π΄Π°ΡŽΡ‚ всС элСмСнты ΠΈΠ³Ρ€ΠΎΠ²ΠΎΠ³ΠΎ пространства.

startGame();

stop();

function startGame() {

// УстанавливаСм константы.

floor = 350;

foxSpeed = 10;

bunnySpeed = 2;

jumpPower = 60;

// Π—Π°Π΄Π°Π΅ΠΌ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ лисы.

foxPos = {x:0,y:0};

fallSpeed = 0;

falling = false;

fox.swapDepths(999);

// ΠŸΡ€ΠΈ ΠΊΠ°ΠΆΠ΄ΠΎΠΌ ΠΎΠ±Ρ€Π°Ρ‰Π΅Π½ΠΈΠΈ ΠΊ ΠΊΠ°Π΄Ρ€Ρƒ Π²Ρ‹Π·Ρ‹Π²Π°Π΅ΠΌ moveFox.

_root.onEnterFrame = moveFox;

// Π‘ΠΎΠ·Π΄Π°Π΅ΠΌ элСмСнты ΠΈΠ³Ρ€Ρ‹.

createWorld();

createObjects();

}

Ѐункция creatWord создаСт массив objects ΠΈ заполняСт Π΅Π³ΠΎ ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΠΌ всСх Π±Π»ΠΎΠΊΠΎΠ², ΠΎΡ€Π΅Ρ…ΠΎΠ² ΠΈ ΠΊΡ€ΠΎΠ»ΠΈΠΊΠΎΠ². Она Ρ‚Π°ΠΊΠΆΠ΅ Π·Π°Π΄Π°Π΅Ρ‚ Π³Π»ΠΎΠ±Π°Π»ΡŒΠ½ΡƒΡŽ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ worldEnd, которая опрСдСляСт ΠΏΡ€Π°Π²ΡƒΡŽ Π³Ρ€Π°Π½ΠΈΡ†Ρƒ ΠΈΠ³Ρ€ΠΎΠ²ΠΎΠ³ΠΎ пространства.

function createWorld() {

objects = new Array();

objects.push({type:"box", x:250, y:0});

objects.push({type:"box", x:300, y:0});

objects.push({type:"box", x:500, y:0});

objects.push({type:"box", x:550, y:0});

objects.push({type:"box", x:600, y:0});

objects.push({type:"box", x:650, y:0});

objects.push({type:"box", x:700, y:0});

objects.push({type:"box", x:550, y:50});

objects.push({type:"box", x:600, y:50});

objects.push({type:"box", x:650, y:50});

objects.push({type:"box", x:850, y:0});

objects.push({type:"box", x:900, y:0});

objects.push({type:"box", x:1050, y:100});

objects.push({type:"box", x:1100, y:100});

objects.push({type:"box", x:1150, y:100});

objects.push({type:"acorn", x:150, y:0});

objects.push({type:"acorn", x:275, y:200});

objects.push({type:"acorn", x:1100, y:250});

objects.push({type:"bunny", x:400, y:0});

objects.push({type:"bunny", x:1200, y:0});

worldEnd = 1400;

}...

Π‘ΠΎΠ²Π΅Ρ‚

Если Π²Ρ‹ ΡΠΎΠ±ΠΈΡ€Π°Π΅Ρ‚Π΅ΡΡŒ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ пространство ΠΈΠ³Ρ€Ρ‹ большС ΠΈΠ»ΠΈ, Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ Π½ΠΎΠ²Ρ‹Π΅ ΡƒΡ€ΠΎΠ²Π½ΠΈ, Ρ‚ΠΎ, вСроятно, Π²Ρ‹ Π·Π°Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ creatWord Ρ‚Π°ΠΊ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΠ½Π° считывала Π΄Π°Π½Π½Ρ‹Π΅ ΠΈΠ· внСшнСго тСкстового Ρ„Π°ΠΉΠ»Π° вмСсто Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ элСмСнт Π² ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎΠΉ строкС ΠΊΠΎΠ΄Π°. ВСкстовый Ρ„Π°ΠΉΠ» ΠΌΠΎΠΆΠ΅Ρ‚ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡ‚ΡŒ Ρ‚ΠΈΠΏ ΠΈ располоТСниС ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ элСмСнта Π² ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Ρ… позициях Ρ‚Π°ΠΊ, ΠΊΠ°ΠΊ это Π±Ρ‹Π»ΠΎ сдСлано Π² Π³Π»Π°Π²Π΅ 12.

ПослС создания массива objects функция creatObjects просматриваСт Π΅Π³ΠΎ Π² Ρ†ΠΈΠΊΠ»Π΅ ΠΈ создаСт всС ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠ΅ ΠΊΠ»ΠΈΠΏΡ‹.

function createObjects() {

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

_root.attachMovie(objects[i].type,"object "+i, i );

}

}

Ѐункция moveFox – это Π³Π»Π°Π²Π½Ρ‹ΠΉ Π΄Π²ΠΈΠΆΡƒΡ‰ΠΈΠΉ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌ [19] всСй ΠΈΠ³Ρ€Ρ‹. Π’ Π½Π΅ΠΉ ΠΈΠ΄Π΅Ρ‚ ряд ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΎΠΊ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΎΡ‚ΡΠ»Π΅ΠΆΠΈΠ²Π°ΡŽΡ‚ появлСниС ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹Ρ… событий Π² ΠΈΠ³Ρ€Π΅.

Π‘Π½Π°Ρ‡Π°Π»Π° вызываСтся функция determineBounds, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ пСрСдаСтся Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚ лисы (1) . Π­Ρ‚Π° функция Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹Π΅ значСния расстояний Π²Π²Π΅Ρ€Ρ…, Π²Π½ΠΈΠ·, Π²ΠΏΡ€Π°Π²ΠΎ ΠΈ Π²Π»Π΅Π²ΠΎ, Π½Π° ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠ΅Ρ€Π΅Π΄Π²ΠΈΠ³Π°Ρ‚ΡŒΡΡ лиса, Π½Π΅ Π½Π°Ρ‚Ρ‹ΠΊΠ°ΡΡΡŒ Π½Π° ΠΊΠ°ΠΊΠΎΠΉ-Π½ΠΈΠ±ΡƒΠ΄ΡŒ Π±Π»ΠΎΠΊ.

Π”Π°Π»Π΅Π΅, функция moveFox провСряСт, Π΅ΡΡ‚ΡŒ Π»ΠΈ пустоС мСсто ΠΏΠΎΠ΄ лисой ΠΈ Π½Π΅ находится Π»ΠΈ лиса Π² состоянии падСния, Ρ‡Ρ‚ΠΎ опрСдСляСтся с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ falling (2). Если это Ρ‚Π°ΠΊ, Ρ‚ΠΎ лиса Π½Π°Ρ‡ΠΈΠ½Π°Π΅Ρ‚ ΠΏΠ°Π΄Π°Ρ‚ΡŒ.

Если falling равняСтся true, Ρ‚ΠΎ вызываСтся функция checkFall для ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Π²Π΅Ρ€Ρ‚ΠΈΠΊΠ°Π»ΡŒΠ½ΠΎΠ³ΠΎ двиТСния (3) .

Π”Π°Π»Π΅Π΅, провСряСтся Π½Π΅ Π½Π°ΠΆΠ°Ρ‚Ρ‹ Π»ΠΈ стрСлки "Π²ΠΏΡ€Π°Π²ΠΎ" ΠΈ "Π²Π»Π΅Π²ΠΎ" (4) . Если Π΄Π°, Ρ‚ΠΎ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΡΡŽΡ‚ΡΡ ΠΎΠ±Π° значСния foxBounds.left ΠΈ foxBounds.right, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ, Π΅ΡΡ‚ΡŒ Π»ΠΈ мСсто для двиТСния лисы. Π’Π°ΠΊΠΆΠ΅ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΡΡŽΡ‚ΡΡ Π³Ρ€Π°Π½ΠΈΡ†Ρ‹ ΠΈΠ³Ρ€ΠΎΠ²ΠΎΠ³ΠΎ пространства – 0 ΠΈ worldEnd,  β€“ Ρ‡Ρ‚ΠΎΠ±Ρ‹ лиса Π½Π΅ Π²Ρ‹Ρ…ΠΎΠ΄ΠΈΠ»Π° Π·Π° ΠΈΡ… ΠΏΡ€Π΅Π΄Π΅Π»Ρ‹. ΠŸΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Π°Ρ moving ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Π΅Ρ‚ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ true Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ссли Π½Π°ΠΆΠ°Ρ‚Π° клавиша со стрСлкой. Π­Ρ‚Π° пСрСмСнная опрСдСляСт, какая Ρ‡Π°ΡΡ‚ΡŒ ΠΊΠ»ΠΈΠΏΠ° Β«foxΒ» Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΡ€ΠΎΠΈΠ³Ρ€Ρ‹Π²Π°Ρ‚ΡŒΡΡ.

Лиса ΠΏΡ€Ρ‹Π³Π°Π΅Ρ‚ ΠΏΡ€ΠΈ Π½Π°ΠΆΠ°Ρ‚ΠΈΠΈ ΠΏΡ€ΠΎΠ±Π΅Π»Π° (5) . ΠŸΡ€Ρ‹ΠΆΠΎΠΊ ΠΏΡ€ΠΎΡ‚ΠΈΠ²ΠΎΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ падСнию, поэтому пСрСмСнная fallSpeed ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Π΅Ρ‚ ΠΏΠΎΠ»ΠΎΠΆΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ (ΠΊΠΎΠ³Π΄Π° лиса ΠΏΠ°Π΄Π°Π΅Ρ‚, Π΅Π΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ мСньшС ноля). Если Π² ΠΌΠΎΠΌΠ΅Π½Ρ‚ наТатия ΠΏΡ€ΠΎΠ±Π΅Π»Π° лиса стоит, Ρ‚ΠΎ запускаСтся анимация ΠΏΡ€Ρ‹ΠΆΠΊΠ° лисицы. Если ΠΆΠ΅ лиса находится Π² Π΄Π²ΠΈΠΆΠ΅Π½ΠΈΠΈ, ΠΊΠΎΠ³Π΄Π° Π½Π°ΠΆΠ°Ρ‚ ΠΏΡ€ΠΎΠ±Π΅Π», Ρ‚ΠΎ ΠΊΠ»ΠΈΠΏ лисы остаСтся Π² ΠΏΠΎΠ·ΠΈΡ†ΠΈΠΈ шага (Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ ΠΎΠ½Π° ΠΏΡ€Ρ‹Π³Π°Π΅Ρ‚ Π² Ρ‚ΠΎΠΌ ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ Π΅Π΅ застало Π½Π°ΠΆΠ°Ρ‚ΠΈΠ΅ Π½Π° ΠΏΡ€ΠΎΠ±Π΅Π»).

Π‘Π»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ Ρ„Ρ€Π°Π³ΠΌΠ΅Π½Ρ‚ ΠΊΠΎΠ΄Π° ΠΎΡ‚Π²Π΅Ρ‡Π°Π΅Ρ‚ Π·Π° Π°Π½ΠΈΠΌΠ°Ρ†ΠΈΡŽ лисы (6) . Если лиса двиТСтся ΠΈ Π½Π΅ ΠΏΠ°Π΄Π°Π΅Ρ‚ Π²Π½ΠΈΠ· (Π½Π΅ ΠΏΡ€Ρ‹Π³Π°Π΅Ρ‚ Π²Π²Π΅Ρ€Ρ…), Ρ‚ΠΎ ΠΊΠ»ΠΈΠΏ лисы ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ΠΈΡ‚ ΠΊ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΌΡƒ ΠΊΠ°Π΄Ρ€Ρƒ. Благодаря этому Π½ΠΎΠ³ΠΈ лисы Β«ΡˆΠ°Π³Π°ΡŽΡ‚Β». Если ΠΆΠ΅ лиса Π½Π΅ двиТСтся ΠΈΠ»ΠΈ ΠΏΠ°Π΄Π°Π΅Ρ‚, Ρ‚ΠΎ ΠΊΠ»ΠΈΠΏ лисы ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ΠΈΡ‚ Π² ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ ΠΊΠ°Π΄Ρ€ с ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ΠΌ стоящСй лисы.

Π’ Ρ‚ΠΎ врСмя ΠΊΠ°ΠΊ Π³ΠΎΡ€ΠΈΠ·ΠΎΠ½Ρ‚Π°Π»ΡŒΠ½Π°Ρ позиция лисы постоянно находится Π² Ρ†Π΅Π½Ρ‚Ρ€Π΅ экрана, Π΅Π΅ Π²Π΅Ρ€Ρ‚ΠΈΠΊΠ°Π»ΡŒΠ½ΠΎΠ΅ ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΌΠ΅Π½ΡΡ‚ΡŒΡΡ. Π’Π΅Ρ€Ρ‚ΠΈΠΊΠ°Π»ΡŒΠ½ΠΎΠ΅ ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ лисы задаСтся свойством foxPos.y, Π° зСмля находится Π² Π²Π΅Ρ€Ρ‚ΠΈΠΊΠ°Π»ΡŒΠ½ΠΎΠΉ ΠΏΠΎΠ·ΠΈΡ†ΠΈΠΈ 0. Π—Π½Π°Ρ‡ΠΈΡ‚, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ свойство _y ΠΊΠ»ΠΈΠΏΠ° лисы, ΠΌΡ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π²Ρ‹Ρ‡Π΅ΡΡ‚ΡŒ foxPos.y ΠΈΠ· значСния ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ floor (7).

Π’ ΠΊΠΎΠ½Ρ†Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ moveFox Π²Ρ‹Π·Ρ‹Π²Π°ΡŽΡ‚ΡΡ Π΅Ρ‰Π΅ Ρ‚Ρ€ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ: moveBunnies ΠΎΡ‚Π²Π΅Ρ‡Π°Π΅Ρ‚ Π·Π° Π΄Π²ΠΈΠΆΠ΅Π½ΠΈΠ΅ ΠΊΡ€ΠΎΠ»ΠΈΠΊΠΎΠ², drawObjects пСрСрисовываСт Π±Π»ΠΎΠΊΠΈ, ΠΊΡ€ΠΎΠ»ΠΈΠΊΠΎΠ² ΠΈ ΠΎΡ€Π΅Ρ…ΠΈ Π² соотвСтствии с Π½ΠΎΠ²Ρ‹ΠΌ ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΠΌ ΠΈΠ³Ρ€ΠΎΠ²ΠΎΠ³ΠΎ поля ΠΎΡ‚Π½ΠΎΡΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ лисы, Π° функция getAcorns провСряСт, Π½Π΅ съСла Π»ΠΈ лиса ΠΊΠ°ΠΊΠΎΠΉ-Π½ΠΈΠ±ΡƒΠ΄ΡŒ ΠΈΠ· ΠΎΡ€Π΅Ρ…ΠΎΠ².