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

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

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

dy = _ymouse – straw._y;

// ВычисляСм ΡƒΠ³ΠΎΠ» Π½Π°ΠΊΠ»ΠΎΠ½Π°.

strawRadians = Math.atan2(dy,dx);

// ΠŸΠ΅Ρ€Π΅Π²ΠΎΠ΄ΠΈΠΌ ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½Π½ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π² градусы.

strawDegrees = 360*strawRadians/(2*Math.PI);

straw._rotation = strawDegrees;

}

Π’Π΅ΠΏΠ΅Ρ€ΡŒ ΠΏΡ€ΠΈ запускС ΠΏΡƒΠ»ΠΈ Π² массив bullets Π±ΡƒΠ΄Π΅Ρ‚ записано большС ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ. Π§Ρ‚ΠΎΠ±Ρ‹ ΠΎΡΡƒΡ‰Π΅ΡΡ‚Π²Π»ΡΡ‚ΡŒ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Ρ‰Π΅Π½ΠΈΠ΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°-ΠΏΡƒΠ»ΠΈ Π² ΠΊΠ°ΠΆΠ΄ΠΎΠΌ ΠΊΠ°Π΄Ρ€Π΅, Π½Π°ΠΌ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π·Π½Π°Ρ‚ΡŒ ΡƒΠ³ΠΎΠ», ΠΏΠΎΠ΄ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌ ΠΎΠ½ Π±Ρ‹Π» Π²Ρ‹ΠΏΡƒΡ‰Π΅Π½.

К ΠΊΠ°ΠΆΠ΄ΠΎΠΌΡƒ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρƒ массива bullets Π±ΡƒΠ΄Π΅Ρ‚ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ down, ΠΎΠΏΠΈΡΡ‹Π²Π°ΡŽΡ‰ΠΈΠΉ силу Π³Ρ€Π°Π²ΠΈΡ‚Π°Ρ†ΠΈΠΈ, Π΄Π΅ΠΉΡΡ‚Π²ΡƒΡŽΡ‰ΡƒΡŽ Π½Π° ΠΏΡƒΠ»ΡŽ. Π˜ΡΡ…ΠΎΠ΄Π½ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ этого ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π° – 0.

Для Ρ‚ΠΎΠ³ΠΎ Ρ‡Ρ‚ΠΎΠ±Ρ‹ пуля Π²Ρ‹Π»Π΅Ρ‚Π°Π»Π° ΠΈΠ· ΠΊΠΎΠ½Ρ‡ΠΈΠΊΠ° соломинки, Π΅Π΅ ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚Ρ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΠΈΠΌΠ΅Ρ‚ΡŒ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅, Ρ€Π°Π²Π½ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΡŽ ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚ соломинки плюс 20 пиксСлов (Π΄Π»ΠΈΠ½Π° соломинки Ρ‡ΡƒΡ‚ΡŒ большС 20 пиксСлов). Π­Ρ‚ΠΈ пиксСлы Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Ρ€Π°ΡΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ (Π½Π°ΠΉΡ‚ΠΈ значСния ΠΊΠ°Ρ‚Π΅Ρ‚ΠΎΠ² ΠΏΡ€ΠΈ Π·Π°Π΄Π°Π½Π½ΠΎΠΉ Π³ΠΈΠΏΠΎΡ‚Π΅Π½ΡƒΠ·Π΅ ΠΈ ΡƒΠ³Π»Π΅) ΠΌΠ΅ΠΆΠ΄Ρƒ ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚Π°ΠΌΠΈ x ΠΈ y ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ Math.sin ΠΈ Math.cos для Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ Π³ΠΎΡ€ΠΈΠ·ΠΎΠ½Ρ‚Π°Π»ΡŒΠ½ΡƒΡŽ ΠΈ Π²Π΅Ρ€Ρ‚ΠΈΠΊΠ°Π»ΡŒΠ½ΡƒΡŽ стороны ΡƒΠ³Π»Π°....

ΠŸΡ€ΠΈΠΌΠ΅Ρ‡Π°Π½ΠΈΠ΅

Π€ΡƒΠ½ΠΊΡ†ΠΈΠΈ Math.sin ΠΈ Math.cos ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ здСсь для опрСдСлСния Π³ΠΎΡ€ΠΈΠ·ΠΎΠ½Ρ‚Π°Π»ΡŒΠ½ΠΎΠΉ ΠΈ Π²Π΅Ρ€Ρ‚ΠΈΠΊΠ°Π»ΡŒΠ½ΠΎΠΉ сторон ΡƒΠ³Π»Π°. Для Ρ‚ΠΎΠ³ΠΎ Ρ‡Ρ‚ΠΎΠ±Ρ‹ наглядно ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ это, возьмСм ΠΊΡ€ΡƒΠ³, Ρ†Π΅Π½Ρ‚Ρ€ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ находится Π² Ρ‚ΠΎΡ‡ΠΊΠ΅ 0,0; крайняя вСрхняя Ρ‚ΠΎΡ‡ΠΊΠ° ΠΈΠΌΠ΅Π΅Ρ‚ ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚Ρ‹ 0, -1 [13] ; крайняя правая – 1,0. Π—Π°Π΄Π°Π² Π² Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Math.sin любой ΡƒΠ³ΠΎΠ», Π²Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚Π΅ ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚Ρƒ y этого ΡƒΠ³Π»Π° Π½Π° окруТности. Ѐункция Math.cos позволяСт Π²Ρ‹Ρ‡ΠΈΡΠ»ΠΈΡ‚ΡŒ ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚Ρƒ Ρ…. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Math.sin(0) Π±ΡƒΠ΄Π΅Ρ‚ Ρ€Π°Π²Π½ΠΎ (-1), Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Math.cos(0) – 0, Ρ‡Ρ‚ΠΎ соотвСтствуСт ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚Π°ΠΌ 0, -1.

Π‘ΠΎΠ»Π΅Π΅ Π²Π°ΠΆΠ½ΠΎ ΠΏΠΎΠ½ΡΡ‚ΡŒ Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Ρ‰Π΅Π½ΠΈΠ΅ ΠΈΠΌΠ΅Π΅Ρ‚ Π΄Π²Π΅ ΡΠΎΡΡ‚Π°Π²Π»ΡΡŽΡ‰ΠΈΠ΅: ΡΠΊΠΎΡ€ΠΎΡΡ‚ΡŒ ΠΈ ΡƒΠ³ΠΎΠ». ЗначСния расстояний для ΠΌΠΎΠ½ΠΈΡ‚ΠΎΡ€Π° ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π° Π½Π΅ ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ Π·Π°Π΄Π°Π½Ρ‹ ΠΏΠΎ Π΄ΠΈΠ°Π³ΠΎΠ½Π°Π»ΠΈ, ΠΎΠ½ΠΈ Π·Π°Π΄Π°ΡŽΡ‚ΡΡ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΏΠΎ Π²Π΅Ρ€Ρ‚ΠΈΠΊΠ°Π»ΠΈ ΠΈ Π³ΠΎΡ€ΠΈΠ·ΠΎΠ½Ρ‚Π°Π»ΠΈ. Π€ΡƒΠ½ΠΊΡ†ΠΈΠΈ Math.sin ΠΈ Math.cos ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‚ ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Ρ‚ΡŒ значСния скорости ΠΈ ΡƒΠ³Π»Π° Π² расстояниС ΠΏΠΎ Π³ΠΎΡ€ΠΈΠ·ΠΎΠ½Ρ‚Π°Π»ΠΈ ΠΈ Π²Π΅Ρ€Ρ‚ΠΈΠΊΠ°Π»ΠΈ.

function shootBullet() {

// ΠŸΡ€ΠΎΠ²Π΅Ρ€ΡΠ΅ΠΌ, ΠΌΠΎΠΆΠ½ΠΎ Π»ΠΈ Π²Ρ‹ΡΡ‚Ρ€Π΅Π»ΠΈΠ²Π°Ρ‚ΡŒ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΡƒΡŽ ΠΏΡƒΠ»ΡŽ.

if (getTiner() > nextBulletTime) {

// Π‘ΠΎΠ·Π΄Π°Π΅ΠΌ ΠΏΡƒΠ»ΡŽ.

attachMovie("bullet","bullet"+nextBullet,nextBullet+9999);

bullet = _root["bullet"+nextBullet];

// УстанавливаСм ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚Ρ‹.

bullet._x = straw._x + Math.cos(strawRadians)*20;

bullet._y = straw._y + Math.cos(strawRadians)*20;

// ДобавляСм Π² массив ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΎ ΠΏΡƒΠ»Π΅:

// clip = Π½Π°Π·Π²Π°Π½ΠΈΠ΅ ΠΊΠ»ΠΈΠΏΠ°,

// angle = Π½Π°Ρ‡Π°Π»ΡŒΠ½Ρ‹ΠΉ ΡƒΠ³ΠΎΠ»,

// down = эффСкт Π³Ρ€Π°Π²ΠΈΡ‚Π°Ρ†ΠΈΠΈ.

bullets.push({clip:bullet,angle:strawRadians,down:0});

// Π£Π²Π΅Π»ΠΈΡ‡ΠΈΠ²Π°Π΅ΠΌ счСтчик ΠΏΡƒΠ»ΡŒ.

nextBullet++;

nextBulletTime = getTimer()+1000;

}

}

Ѐункция moveBullets ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ angle ΠΈ down ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ снаряда для пСрСмСщСния ΠΈΡ… Π½Π° ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠ΅ расстояниС. ΠšΡ€ΠΎΠΌΠ΅ этого ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ down увСличиваСтся, Ρ‡Ρ‚ΠΎΠ±Ρ‹ создавался эффСкт Π³Ρ€Π°Π²ΠΈΡ‚Π°Ρ†ΠΈΠΈ. Π’Π°ΠΊ ΠΊΠ°ΠΊ Π·Π°ΠΏΡƒΡ‰Π΅Π½Π½Ρ‹ΠΉ снаряд Π΄ΠΎΠ»ΠΆΠ΅Π½ снова ΡƒΠΏΠ°ΡΡ‚ΡŒ Π½Π° зСмлю, ΠΏΡ€Π΅ΠΆΠ΄Π΅ Ρ‡Π΅ΠΌ ΡƒΠ΄Π°Π»ΠΈΡ‚ΡŒ Π΅Π³ΠΎ ΠΊΠ»ΠΈΠΏ ΠΈΠ· массива, Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ, достиг Π»ΠΈ ΠΎΠ½ Π½ΠΈΠΆΠ½Π΅Π³ΠΎ края экрана.

function moveBullets() {

// ΠŸΠ΅Ρ€Π΅ΠΌΠ΅Ρ‰Π°Π΅ΠΌ всС снаряды.

for(i=bullets.length-1;i>=0;i–) {

// ΠžΠΏΡ€Π΅Π΄Π΅Π»ΡΠ΅ΠΌ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ ΠΊΠ»ΠΈΠΏΠ°.

bullet = bullets[i].clip;

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

bullet._x += Math.cos(bullets[i].angle)*10;

bullet._y += Math.sin(bullets[i].angle)*10;

// ДобавляСм искаТСниС Ρ‚Ρ€Π°Π΅ΠΊΡ‚ΠΎΡ€ΠΈΠΈ

// ΠΈΠ·-Π·Π° воздСйствия Π³Ρ€Π°Π²ΠΈΡ‚Π°Ρ†ΠΈΠΈ.

bullet._y += bullets[i].down;

// Π£Π²Π΅Π»ΠΈΡ‡ΠΈΠ²Π°Π΅ΠΌ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π° Π³Ρ€Π°Π²ΠΈΡ‚Π°Ρ†ΠΈΠΈ.

bullets[i].down += .2;

// ВыясняСм, достигла Π»ΠΈ пуля Π·Π΅ΠΌΠ»ΠΈ.

if (bullet._y > 400) {

bullet.removeMovieClip();

bullets.splice(i,1);

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

} else {

if (checkCollision(bullet)) {

bullet.removeMovieClip();

bullets.splice(i,1);

}

}

}

}

К свСдСнию

Π’Π°ΠΊ ΠΊΠ°ΠΊ ΠΏΡƒΠ»ΠΈ Π² Π΄Π°Π½Π½ΠΎΠΉ ΠΈΠ³Ρ€Π΅ ΠΌΠΎΠ³ΡƒΡ‚ Ρ€Π°Π·Π»Π΅Ρ‚Π°Ρ‚ΡŒΡΡ Π² Ρ€Π°Π·Π½Ρ‹Π΅ стороны, ΠΌΡ‹ помСняли ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ ΠΏΡƒΠ»ΠΈ Π² ΠΊΠ»ΠΈΠΏΠ΅, Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ ΠΎΠ½Π° Π½Π°ΠΏΠΎΠΌΠΈΠ½Π°Π΅Ρ‚ Π½Π΅ ΠΊΠΎΡ€ΠΎΡ‚ΠΊΡƒΡŽ линию, Π° скорСС Π½Π΅Π±ΠΎΠ»ΡŒΡˆΡƒΡŽ Ρ‚ΠΎΡ‡ΠΊΡƒ.

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

Как ΠΈ ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰ΡƒΡŽ ΠΈΠ³Ρ€Ρƒ этой Π³Π»Π°Π²Ρ‹, Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ‡Ρ‚ΠΎ Ρ€Π°ΡΡΠΌΠΎΡ‚Ρ€Π΅Π½Π½ΡƒΡŽ ΠΌΠΎΠΆΠ½ΠΎ ΡƒΡΠΎΠ²Π΅Ρ€ΡˆΠ΅Π½ΡΡ‚Π²ΠΎΠ²Π°Ρ‚ΡŒ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹ΠΌΠΈ способами, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ ΠΌΠΎΠΆΠ½ΠΎ Π΄ΠΎΠ±Π°Π²Π»ΡΡ‚ΡŒ ΠΎΡ‡ΠΊΠΈ Π·Π° ΡˆΠ°Ρ€Ρ‹, лСтящиС Π²Ρ‹ΡˆΠ΅ ΠΈ быстрСС. НСплохим Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ΠΎΠΌ Π±ΡƒΠ΄Π΅Ρ‚ созданиС Π½Π° Π΅Π΅ основС ΠΈΠ³Ρ€Ρ‹, Π³Π΄Π΅ Π² качСствС Ρ†Π΅Π»Π΅ΠΉ Π±ΡƒΠ΄ΡƒΡ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ самолСты. ΠžΡ€ΡƒΠΆΠΈΠ΅, ΠΈΠ· ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ вСдСтся обстрСл, ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ Π² Ρ‚Π°ΠΊΠΈΡ… ΠΈΠ³Ρ€Π°Ρ… Π½Π΅ΠΏΠΎΠ΄Π²ΠΈΠΆΠ½ΠΎ, Π½ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚ ΡΡ‚Ρ€Π΅Π»ΡΡ‚ΡŒ ΠΏΠΎΠ΄ Ρ€Π°Π·Π½Ρ‹ΠΌΠΈ ΡƒΠ³Π»Π°ΠΌΠΈ.

Π¨Π°Ρ€ΠΈΠΊΠΈ-Π·Π°Ρ…Π²Π°Ρ‚Ρ‡ΠΈΠΊΠΈ

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

Π’ самой классичСской Π²ΠΈΠ΄Π΅ΠΎΠΈΠ³Ρ€Π΅, "ΠšΠΎΡΠΌΠΈΡ‡Π΅ΡΠΊΠΈΠ΅ Π·Π°Ρ…Π²Π°Ρ‚Ρ‡ΠΈΠΊΠΈ", Π΅ΡΡ‚ΡŒ ΠΎΡ‡Π΅Π½ΡŒ странноС, Π½ΠΎ Π·Π°ΠΏΠΎΠΌΠΈΠ½Π°ΡŽΡ‰Π΅Π΅ΡΡ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ враТСских Π΅Π΄ΠΈΠ½ΠΈΡ†. Они двиТутся Π³Ρ€ΡƒΠΏΠΏΠΎΠΉ ΠΈΠ· стороны Π² сторону, ΠΌΠ΅Π΄Π»Π΅Π½Π½ΠΎ ΠΎΠΏΡƒΡΠΊΠ°ΡΡΡŒ Π²Π½ΠΈΠ·. Если ΠΎΠ½ΠΈ достигнут повСрхности, ΠΈΠ³Ρ€ΠΎΠΊ ΠΏΡ€ΠΎΠΈΠ³Ρ€Ρ‹Π²Π°Π΅Ρ‚.

Π”Π°Π²Π°ΠΉΡ‚Π΅ ΠΈΠ·ΠΌΠ΅Π½ΠΈΠΌ ΠΏΠ΅Ρ€Π²ΡƒΡŽ ΠΈΠ³Ρ€Ρƒ Π΄Π°Π½Π½ΠΎΠΉ Π³Π»Π°Π²Ρ‹ Ρ‚Π°ΠΊ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π²ΠΎΠ·Π΄ΡƒΡˆΠ½Ρ‹Π΅ ΡˆΠ°Ρ€ΠΈΠΊΠΈ Π²Π΅Π»ΠΈ сСбя ΠΊΠ°ΠΊ космичСскиС Π·Π°Ρ…Π²Π°Ρ‚Ρ‡ΠΈΠΊΠΈ.

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

ПовСдСниС ΡˆΠ°Ρ€ΠΈΠΊΠΎΠ² простоС. Они ΠΎΠ±Ρ€Π°Π·ΡƒΡŽΡ‚ Π³Ρ€ΡƒΠΏΠΏΡƒ ΡˆΠΈΡ€ΠΈΠ½ΠΎΠΉ 10 ΠΈ высотой 3 ΡˆΠ°Ρ€ΠΈΠΊΠ°, ΠΊΠ°ΠΊ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ Π½Π° рис. 10.5. Π¨Π°Ρ€ΠΈΠΊΠΈ двиТутся Π²ΠΏΡ€Π°Π²ΠΎ, ΠΏΠΎΠΊΠ° пСрвая ΠΊΠΎΠ»ΠΎΠ½Π½Π° ΡˆΠ°Ρ€ΠΈΠΊΠΎΠ² Π½Π΅ коснСтся ΠΏΡ€Π°Π²ΠΎΠΉ стороны экрана. Π’ΠΎΠ³Π΄Π° ΠΎΠ½ΠΈ ΠΌΠ΅Π½ΡΡŽΡ‚ Π½Π°ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ ΠΈ Ρ‡ΡƒΡ‚ΡŒ-Ρ‡ΡƒΡ‚ΡŒ ΠΎΠΏΡƒΡΠΊΠ°ΡŽΡ‚ΡΡ.

Рисунок 10.5. Π¨Π°Ρ€ΠΈΠΊΠΈ-Π·Π°Ρ…Π²Π°Ρ‚Ρ‡ΠΈΠΊΠΈ двиТутся Π³Ρ€ΡƒΠΏΠΏΠΎΠΉ

ΠœΠ΅ΠΆΠ΄Ρƒ Ρ‚Π΅ΠΌ лиса Π²Π½ΠΈΠ·Ρƒ двиТСтся слСва Π½Π°ΠΏΡ€Π°Π²ΠΎ ΠΈ стрСляСт Π² ΡˆΠ°Ρ€ΠΈΠΊΠΈ. Она Π΄ΠΎΠ»ΠΆΠ½Π° ΠΏΠ΅Ρ€Π΅ΡΡ‚Ρ€Π΅Π»ΡΡ‚ΡŒ ΠΈΡ… всСх, ΠΏΡ€Π΅ΠΆΠ΄Π΅ Ρ‡Π΅ΠΌ Π³Ρ€ΡƒΠΏΠΏΠ° ΡˆΠ°Ρ€ΠΈΠΊΠΎΠ² достигнСт повСрхности Π·Π΅ΠΌΠ»ΠΈ.

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

ПовСдСниС лисы ΠΌΠΎΠΆΠ΅Ρ‚ ΠΎΡΡ‚Π°Ρ‚ΡŒΡΡ Ρ‚Π°ΠΊΠΈΠΌ ΠΆΠ΅, ΠΊΠ°ΠΊ Π² ΠΏΠ΅Ρ€Π²ΠΎΠΉ ΠΈΠ³Ρ€Π΅ этой Π³Π»Π°Π²Ρ‹. Но ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ ΡˆΠ°Ρ€ΠΈΠΊΠΎΠ² Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±Ρ‹Ρ‚ΡŒ ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΎ. К Ρ‚ΠΎΠΌΡƒ ΠΆΠ΅ Π²ΠΎ врСмя ΠΈΠ³Ρ€Ρ‹ Π½Π΅ Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±Ρ‹Ρ‚ΡŒ создано Π½ΠΈ ΠΎΠ΄Π½ΠΎΠ³ΠΎ Π½ΠΎΠ²ΠΎΠ³ΠΎ ΡˆΠ°Ρ€ΠΈΠΊΠ°. Они всС ΠΏΠΎΡΠ²Π»ΡΡŽΡ‚ΡΡ Π² Π½Π°Ρ‡Π°Π»Π΅ ΠΈΠ³Ρ€Ρ‹.

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

Как ΠΈ Π² ΠΏΠ΅Ρ€Π²ΠΎΠΉ ΠΈΠ³Ρ€Π΅ этой Π³Π»Π°Π²Ρ‹, Π΅ΡΡ‚ΡŒ ΠΊΠ°Π΄Ρ€ стоящСй лисы – Β«standΒ», ΠΈ анимация Ρ…ΠΎΠ΄ΡŒΠ±Ρ‹. Π£ ΡˆΠ°Ρ€ΠΈΠΊΠ° Π΅ΡΡ‚ΡŒ Π½ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½Ρ‹ΠΉ ΠΊΠ°Π΄Ρ€ ΠΈ анимация Π²Π·Ρ€Ρ‹Π²Π°. ВсС ΡˆΠ°Ρ€ΠΈΠΊΠΈ сначала сСрого Ρ†Π²Π΅Ρ‚Π° ΠΈ ΠΏΠΎΡ‚ΠΎΠΌ Ρ€Π°ΡΠΊΡ€Π°ΡˆΠΈΠ²Π°ΡŽΡ‚ΡΡ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ActionScript. ΠŸΡƒΠ»Ρ – это ΠΊΠΎΡ€ΠΎΡ‚ΠΊΠΈΠΉ ΠΊΠ»ΠΈΠΏ-линия.

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

Клип Β«actionsΒ» Ρ‚Π°ΠΊΠΎΠΉ ΠΆΠ΅, ΠΊΠ°ΠΊ Π² ΠΏΠ΅Ρ€Π²ΠΎΠΉ ΠΈΠ³Ρ€Π΅ этой Π³Π»Π°Π²Ρ‹, Π·Π° ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ΠΌ Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎ Π½ΠΎΠ²Ρ‹Π΅ ΡˆΠ°Ρ€ΠΈΠΊΠΈ Π½Π΅ ΡΠΎΠ·Π΄Π°ΡŽΡ‚ΡΡ Π² ΠΊΠ°ΠΆΠ΄ΠΎΠΌ ΠΊΠ°Π΄Ρ€Π΅.

onClipEvent(load) {

_root.initGame();

}

onClipEvent(enterFrame) {

_root.moveBalloons();

_root.moveFox();

_root.moveBullets();

}

Ѐункция initGame Π²Ρ‹Π·Ρ‹Π²Π°Π΅Ρ‚ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ createBalloons, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ Π³Ρ€ΡƒΠΏΠΏΡƒ ΡˆΠ°Ρ€ΠΈΠΊΠΎΠ². Π•ΠΉ Π½Π΅ Π½ΡƒΠΆΠ½ΠΎ Π·Π°Π΄Π°Π²Π°Ρ‚ΡŒ Ρ‚Π°ΠΊΠΈΠ΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅, ΠΊΠ°ΠΊ nextBalloon ΠΈΠ»ΠΈ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ массив balloons, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ послС Π½Π°Ρ‡Π°Π»Π° ΠΈΠ³Ρ€Ρ‹ Π½ΠΎΠ²Ρ‹Π΅ ΡˆΠ°Ρ€ΠΈΠΊΠΈ Π½Π΅ ΡΠΎΠ·Π΄Π°ΡŽΡ‚ΡΡ.

function initGame() {

// Π‘ΠΎΠ·Π΄Π°Π΅ΠΌ ΡˆΠ°Ρ€ΠΈΠΊΠΈ.

createBalloons();

// ΠŸΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ снарядов.

nextBulletTime = 0;

nextBullet = 0;

bullets = [];

// ΠŸΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Π°Ρ счСта.

score = 0;

}

Ѐункция createBalloons создаСт 30 ΡˆΠ°Ρ€ΠΈΠΊΠΎΠ² Π² 10 ΠΊΠΎΠ»ΠΎΠ½ΠΊΠ°Ρ… ΠΏΠΎ 3 ΡˆΡ‚ΡƒΠΊΠΈ Π² ΠΊΠ°ΠΆΠ΄ΠΎΠΉ. КаТдая ссылка Π½Π° ΡˆΠ°Ρ€ΠΈΠΊ хранится Π² массивС. Π¦Π²Π΅Ρ‚ ΡˆΠ°Ρ€ΠΈΠΊΡƒ назначаСтся Π² зависимости ΠΎΡ‚ Ρ‚ΠΎΠ³ΠΎ, Π² ΠΊΠ°ΠΊΠΎΠΌ ΠΎΠ½ ряду. ΠšΠ°ΠΆΠ΄ΠΎΠΌΡƒ ΡˆΠ°Ρ€ΠΈΠΊΡƒ ΠΏΡ€ΠΈΠ΄Π°Π½ΠΎ Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎΠ΅ Π½Π°ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ ΠΈ ΡΠΊΠΎΡ€ΠΎΡΡ‚ΡŒ равная 3.

function createBalloons() {

balloons = new Array();

balloonNum = 0;

// Π‘ΠΎΠ·Π΄Π°Π΅ΠΌ Π½ΠΎΠ²Ρ‹ΠΉ ряд.

for(var y=0;y<3;y++) {

for(var x=0;x<10;x++) {

// Π‘ΠΎΠ·Π΄Π°Π΅ΠΌ ΠΈ Ρ€Π°Π·ΠΌΠ΅Ρ‰Π°Π΅ΠΌ Π½ΠΎΠ²Ρ‹ΠΉ ΡˆΠ°Ρ€ΠΈΠΊ.

attachMovie("balloon", "balloon"+balloonNum, balloonNum);

balloonClip = this["balloon"+balloonNum];

balloonClip._x = x*30+20;

balloonClip._y = y*30+20;

// ДобавляСм Π² массив.

balloons.push(balloonClip);

// УстанавливаСм Ρ†Π²Π΅Ρ‚.

balloonColor = new Color(balloonClip);

if (y == 0) {

balloonColor.setTransform({rb: 255});

} else if (y == 1) {

balloonColor.setTransform({gb: 255});

} else if (y == 2) {

balloonColor.setTransform({bb: 255});

}

balloonNum++;

}

}

// НаправлСниС (ΡΠΊΠΎΡ€ΠΎΡΡ‚ΡŒ)ΡˆΠ°Ρ€ΠΈΠΊΠΎΠ².

balloonDirection = 3;

}

Ѐункция moveBalloons Π΄Π²ΠΈΠ³Π°Π΅Ρ‚ всС ΡˆΠ°Ρ€ΠΈΠΊΠΈ Π² массивС balloons. Если ΠΊΠ°ΠΊΠΎΠΉ-Π½ΠΈΠ±ΡƒΠ΄ΡŒ ΠΈΠ· Π½ΠΈΡ… дотронСтся Π΄ΠΎ края экрана, Ρ‚ΠΎ всС ΠΎΠ½ΠΈ ΠΌΠ΅Π½ΡΡŽΡ‚ Π½Π°ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅. Если ΠΆΠ΅ ΠΊΠ°ΠΊΠΎΠΉ-Π½ΠΈΠ±ΡƒΠ΄ΡŒ достигнСт Π½ΠΈΠ·Π° экрана, ΠΈΠ³Ρ€Π° заканчиваСтся.

function moveBalloons() {

// ΠŸΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Π°Ρ-Ρ„Π»Π°Π³ измСнСния направлСния.

var newDirection = false;

// ΠŸΡ€ΠΎΡΠΌΠ°Ρ‚Ρ€ΠΈΠ²Π°Π΅ΠΌ всС ΡˆΠ°Ρ€ΠΈΠΊΠΈ.

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

// ΠŸΠ΅Ρ€Π΅Π΄Π²ΠΈΠ³Π°Π΅ΠΌ Ρ‚Π΅ΠΊΡƒΡ‰ΠΈΠΉ ΡˆΠ°Ρ€ΠΈΠΊ.

balloons[i]._x += balloonDirection;

// Π‘ΠΌΠΎΡ‚Ρ€ΠΈΠΌ, Π½Π΅ достиг Π»ΠΈ ΡˆΠ°Ρ€ΠΈΠΊ Π³Ρ€Π°Π½ΠΈΡ†Ρ‹ экрана.

if ((balloonDirection > 0) and (balloons[i]._x > 530)) {

newDirection = true;

} else if ((balloonDirection < 0) and (balloons[i]._x < 20)) {

newDirection = true;

}

}

// ΠŸΡ€ΠΈ столкновСнии с Π³Ρ€Π°Π½ΠΈΡ†ΠΎΠΉ экрана

// ΡˆΠ°Ρ€ΠΈΠΊΠΈ ΠΎΠΏΡƒΡΠΊΠ°ΡŽΡ‚ΡΡ ΠΈ ΠΌΠ΅Π½ΡΡŽΡ‚ Π½Π°ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅.

if (newDirection) {

balloonDirection *= -1;

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

balloons[i]._y += 3;

}

}

// НС достигли Π»ΠΈ ΡˆΠ°Ρ€ΠΈΠΊΠΈ Π·Π΅ΠΌΠ»ΠΈ?

if (balloons[i-1]._y > 300) {

gotoAndStop("game over");

}

}

ВсС Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ для создания лисы ΠΈ ΠΏΡƒΠ»ΡŒ Ρ‚ΠΎΡ‡Π½ΠΎ Ρ‚Π°ΠΊΠΈΠ΅ ΠΆΠ΅, ΠΊΠ°ΠΊ ΠΈ Π² ΠΏΠ΅Ρ€Π²ΠΎΠΉ ΠΈΠ³Ρ€Π΅ Π³Π»Π°Π²Ρ‹, поэтому ΠΈΡ… ΠΊΠΎΠ΄ я здСсь ΠΏΡ€ΠΈΠ²ΠΎΠ΄ΠΈΡ‚ΡŒ Π½Π΅ Π±ΡƒΠ΄Ρƒ. Но функция checkCollision другая, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ ΠΎΠ½Π° Π΄ΠΎΠ»ΠΆΠ½Π° ΡΠ»Π΅Π΄ΠΈΡ‚ΡŒ, Π½Π΅ ΡΠ»ΡƒΡ‡ΠΈΠ»ΠΎΡΡŒ Π»ΠΈ Ρ‚Π°ΠΊ, Ρ‡Ρ‚ΠΎ всС ΡˆΠ°Ρ€ΠΈΠΊΠΈ ΡƒΠ½ΠΈΡ‡Ρ‚ΠΎΠΆΠ΅Π½Ρ‹, ΠΈ Π·Π°ΠΊΠ°Π½Ρ‡ΠΈΠ²Π°Ρ‚ΡŒ ΠΈΠ³Ρ€Ρƒ.

function checkCollision(bullet) {

// ΠŸΡ€ΠΎΡΠΌΠ°Ρ‚Ρ€ΠΈΠ²Π°Π΅ΠΌ всС ΡˆΠ°Ρ€ΠΈΠΊΠΈ.

for(j=balloons.length-1;j>=0;jβ€”) {

balloon = balloons[j];

// Π‘ΠΌΠΎΡ‚Ρ€ΠΈΠΌ Π½Π΅ ΠΏΠΎΠΏΠ°Π»Π° Π»ΠΈ пуля Π² ΡˆΠ°Ρ€ΠΈΠΊ.

if (distance(bullet,balloon) < 10) {

// УдаляСм ΡˆΠ°Ρ€ ΠΈΠ· массива.

balloons.splice(j,1);

// ΠŸΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ΠΈΠΌ Π² ΠΊΠ°Π΄Ρ€ Π²Π·Ρ€Ρ‹Π²Π° ΡˆΠ°Ρ€ΠΈΠΊΠ°.

balloon.gotoAndPlay(2);

// Π£Π²Π΅Π»ΠΈΡ‡ΠΈΠ²Π°Π΅ΠΌ счСт.

score += 1;

// Если ΡˆΠ°Ρ€ΠΎΠ² большС Π½Π΅Ρ‚ – ΠΈΠ³Ρ€Π° заканчиваСтся.

if (balloons.length == 0) {

gotoAndStop("game over");

}

// Π’ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅ΠΌ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ true, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ ΠΏΠΎΠΏΠ°Π»ΠΈ Π² ΡˆΠ°Ρ€ΠΈΠΊ.

return(true);

}

}

// Π’ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅ΠΌ false, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ ΠΏΠΎΠΏΠ°Π»ΠΈ Π² ΡˆΠ°Ρ€ΠΈΠΊ.

return(false);

}

К свСдСнию

Как ΠΈ Π² исходной ΠΈΠ³Ρ€Π΅ этой Π³Π»Π°Π²Ρ‹, здСсь Π΅ΡΡ‚ΡŒ Π²Π²ΠΎΠ΄Π½Ρ‹ΠΉ ΠΈ Π·Π°ΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ ΠΊΠ°Π΄Ρ€Ρ‹. Π― Π² ΠΎΠ±ΠΎΠΈΡ… ΠΈΠ³Ρ€Π°Ρ… ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²Ρ‹Π΅ ΠΊΠ°Π΄Ρ€Ρ‹ Π²Π½Π΅ зависимости ΠΎΡ‚ Ρ‚ΠΎΠ³ΠΎ, Π²Ρ‹ΠΈΠ³Ρ€Π°Π» ΠΈΠ³Ρ€ΠΎΠΊ ΠΈΠ»ΠΈ ΠΏΡ€ΠΎΠΈΠ³Ρ€Π°Π». Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π΄Π²Π° Ρ€Π°Π·Π½Ρ‹Ρ… ΠΊΠ°Π΄Ρ€Π° с ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΌ тСкстом Π² ΠΊΠ°ΠΆΠ΄ΠΎΠΌ.

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

Π§Ρ‚ΠΎΠ±Ρ‹ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ ΠΈΠ³Ρ€Ρƒ Ρ‚Ρ€ΡƒΠ΄Π½Π΅Π΅, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡƒΡΠΊΠΎΡ€ΠΈΡ‚ΡŒ Π΄Π²ΠΈΠΆΠ΅Π½ΠΈΠ΅ Π·Π°Ρ…Π²Π°Ρ‚Ρ‡ΠΈΠΊΠΎΠ². Π‘Π½Π°Ρ‡Π°Π»Π° ΠΏΠΎΠΏΡ€ΠΎΠ±ΡƒΠΉΡ‚Π΅ ΡƒΠ²Π΅Π»ΠΈΡ‡ΠΈΡ‚ΡŒ расстояниС, Π½Π° ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ ΠΎΠ½ΠΈ ΠΏΠ°Π΄Π°ΡŽΡ‚ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ Ρ€Π°Π·. Π’Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΡƒΠ²Π΅Π»ΠΈΡ‡ΠΈΡ‚ΡŒ ΡΠΊΠΎΡ€ΠΎΡΡ‚ΡŒ, с ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ ΠΎΠ½ΠΈ двиТутся ΠΈΠ· стороны Π² сторону.

Если Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ Π² ΠΈΠ³Ρ€Ρƒ ΡƒΡ€ΠΎΠ²Π½Π΅ΠΉ, Ρ‚ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ startSpeed, которая начинаСтся со значСния 3. Π—Π°Π΄Π°ΠΉΡ‚Π΅ эту ΡΠΊΠΎΡ€ΠΎΡΡ‚ΡŒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ balloonDirection ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΡˆΠ°Ρ€ΠΈΠΊΠ° вмСсто ТСстко Π·Π°Π΄Π°Π½Π½ΠΎΠ³ΠΎ "3". ΠŸΡƒΡΡ‚ΡŒ Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ послС Ρ‚ΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ всС ΡˆΠ°Ρ€ΠΈΠΊΠΈ Π²Ρ‹Π±ΠΈΡ‚Ρ‹, ΠΈΠ³Ρ€ΠΎΠΊ ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ΠΈΡ‚ ΠΊ экрану Β«level overΒ». Когда ΠΎΠ½ Π½Π°ΠΆΠΈΠΌΠ°Π΅Ρ‚ ΠΊΠ½ΠΎΠΏΠΊΡƒ Β«play next levelΒ», startSpeed увСличиваСтся, ΠΈ Ρ€ΠΎΠ»ΠΈΠΊ отправляСтся ΠΊ ΠΊΠ°Π΄Ρ€Ρƒ Β«playΒ», Π³Π΄Π΅ ΡˆΠ°Ρ€ΠΈΠΊΠΈ ΠΏΠΎΡΠ²Π»ΡΡŽΡ‚ΡΡ с Π½ΠΎΠ²ΠΎΠΉ, Π±ΠΎΠ»Π΅Π΅ высокой ΡΠΊΠΎΡ€ΠΎΡΡ‚ΡŒΡŽ.