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

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

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

Рисунок 5.9 . ΠžΡΡ‚Π°Π²Π»ΡΡ ΠΊΠΎΠΏΠΈΠΈ ΠΊΠ»ΠΈΠΏΠ° Π² ΠΏΠΎΠ·ΠΈΡ†ΠΈΠΈ, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ‡Ρ‚ΠΎ находился курсор, ΠΌΠΎΠΆΠ½ΠΎ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ слСд, тянущийся Π·Π° курсором

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

ИдСя состоит Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ слСд Π·Π° курсором ΠΈΠ· постСпСнно ΡƒΠΌΠ΅Π½ΡŒΡˆΠ°ΡŽΡˆΠΈΡ…ΡΡ ΠΈ Ρ‚Π°ΡŽΡˆΠΈΡ… окруТностСй. Когда ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅ΡˆΠ°Π΅Ρ‚ ΠΌΡ‹ΡˆΡŒ, Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ‚ ΠΎΡˆΡƒΡˆΠ΅Π½ΠΈΠ΅, Ρ‡Ρ‚ΠΎ курсор рисуСт Π·Π° собой хвост.

Π’ Π½Π°Ρ‡Π°Π»ΡŒΠ½Ρ‹ΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ‚ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΊΡ€ΡƒΠΆΠΎΠΊ ΠΈΠΌΠ΅Π΅Ρ‚ свой фиксированный Ρ€Π°Π·ΠΌΠ΅Ρ€ ΠΈ Π°Π±ΡΠΎΠ»ΡŽΡ‚Π½ΠΎ Π½Π΅ΠΏΡ€ΠΎΠ·Ρ€Π°Ρ‡Π΅Π½. ΠŸΠΎΡΡ‚Π΅ΠΏΠ΅Π½Π½ΠΎ ΠΎΠ½ ΡƒΠΌΠ΅Π½ΡŒΡˆΠ°Π΅Ρ‚ΡΡ Π² Ρ€Π°Π·ΠΌΠ΅Ρ€Π°Ρ… ΠΈ Π±Π»Π΅Π΄Π½Π΅Π΅Ρ‚ Π΄ΠΎ Ρ‚Π΅Ρ… ΠΏΠΎΡ€, ΠΏΠΎΠΊΠ° ΠΎΠΊΠΎΠ½Ρ‡Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ Π½Π΅ ΡΠΎΠ»ΡŒΠ΅Ρ‚ΡΡ с Ρ„ΠΎΠ½ΠΎΠΌ.

Π’ любой ΠΌΠΎΠΌΠ΅Π½Ρ‚ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ Π½Π° экранС Ρ‚Π°Π΅Ρ‚ ΠΈ ΡƒΠΌΠ΅Π½ΡŒΡˆΠ°Π΅Ρ‚ΡΡ мноТСство ΠΊΡ€ΡƒΠΆΠΎΡ‡ΠΊΠΎΠ², ΠΈ ΠΏΠΎ ΠΌΠ΅Ρ€Π΅ исчСсзновСния старых ΠΈΡ… мСсто Π·Π°Π½ΠΈΠΌΠ°ΡŽΡ‚ Π½ΠΎΠ²Ρ‹Π΅, появляюшиСся Π² Ρ‚Π΅ΠΊΡƒΡˆΠ΅ΠΉ ΠΏΠΎΠ·ΠΈΡ†ΠΈΠΈ курсора.

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

ΠžΠΊΡ€ΡƒΠΆΠ½ΠΎΡΡ‚ΠΈ ΡΠ²Π»ΡΡŽΡ‚ΡΡ ΠΊΠ»ΠΈΠΏΠ°ΠΌΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΡΠΎΠ·Π΄Π°ΡŽΡ‚ΡΡ ΠΈ ΠΏΠΎΠΌΠ΅ΡˆΠ°ΡŽΡ‚ΡΡ Π² ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΡƒΡŽ Ρ‚ΠΎΡ‡ΠΊΡƒ экрана Π² Ρ‚Π΅Ρ‡Π΅Π½ΠΈΠ΅ Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹. Π’ ΠΊΠΎΠ΄Π΅ хранятся всС ΡΡƒΡˆΠ΅ΡΡ‚Π²ΡƒΡŽΡˆΠΈΠ΅ ΠΊΠ»ΠΈΠΏΡ‹. ΠŸΡ€ΠΈ ΠΊΠ°ΠΆΠ΄ΠΎΠΌ ΠΎΠ±Ρ€Π°ΡˆΠ΅Π½ΠΈΠΈ ΠΊ ΠΊΠ°Π΄Ρ€Ρƒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° просматриваСт массив, ΡƒΠΌΠ΅Π½ΡŒΡˆΠ°Ρ Ρ€Π°Π·ΠΌΠ΅Ρ€ ΠΈ увСличивая ΠΏΡ€ΠΎΠ·Ρ€Π°Ρ‡Π½ΠΎΡΡ‚ΡŒ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΊΠ»ΠΈΠΏΠ°. Когда ΠΊΠ»ΠΈΠΏ с ΠΎΠΊΡ€ΡƒΠΆΠ½ΠΎΡΡ‚ΡŒΡŽ становится Π½Π΅Π²ΠΈΠ΄ΠΈΠΌΡ‹ΠΌ, ΠΎΠ½ удаляСтся; Ρ‚Π°ΠΊΠΆΠ΅ удаляСтся ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡˆΠΈΠΉ элСмСнт массива.

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

Π‘ΠΎΠ·Π΄Π°Π΄ΠΈΠΌ простой ΠΊΠ»ΠΈΠΏ с ΠΊΡ€ΡƒΠΆΠΎΡ‡ΠΊΠΎΠΌ Π²Π½ΡƒΡ‚Ρ€ΠΈ. Π¦Π²Π΅Ρ‚ ΠΈ Ρ€Π°Π·ΠΌΠ΅Ρ€ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ ΠΏΠΎ своСму ΡƒΡΠΌΠΎΡ‚Ρ€Π΅Π½ΠΈΡŽ. Π’ нашСм ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ ΠΌΡ‹ сдСлали Ρ‚Π΅ΠΌΠ½ΠΎ-Π³ΠΎΠ»ΡƒΠ±ΡƒΡŽ ΠΎΠΊΡ€ΡƒΠΆΠ½ΠΎΡΡ‚ΡŒ Π΄ΠΈΠ°ΠΌΠ΅Ρ‚Ρ€ΠΎΠΌ 20 пиксСлов. ΠšΠ»ΠΈΠΏΡƒ присвоСно имя Β«Cursor TrailΒ» (Π‘Π»Π΅Π΄ курсора), Π² ΠΏΠ°Π½Π΅Π»ΠΈ Linkage Properties выставлСн Ρ„Π»Π°ΠΆΠΎΠΊ Export for ActionScript ΠΈ присвоСно имя связи CursorTrail.

Π’Π΅ΠΏΠ΅Ρ€ΡŒ создадим ΠΊΠ»ΠΈΠΏ с надписью "Actions". ΠŸΠΎΠΌΠ΅ΡΡ‚ΠΈΠΌ Π΅Π³ΠΎ Π²Π½Π΅ ΠΏΡ€Π΅Π΄Π΅Π»ΠΎΠ² Ρ€Π°Π±ΠΎΡ‡Π΅ΠΉ области. Π­Ρ‚ΠΎΡ‚ ΠΊΠ»ΠΈΠΏ Π±ΡƒΠ΄Π΅Ρ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΊΠ°ΠΊ Π½ΠΎΡΠΈΡ‚Π΅Π»ΡŒ ΠΊΠΎΠ΄Π°, поэтому Π΅Π³ΠΎ содСрТаниС ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Π»ΡŽΠ±Ρ‹ΠΌ. Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π°ΠΆΠ΅ Π½Π΅ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ Π²Π½ΡƒΡ‚Ρ€ΠΈ Π½Π΅Π³ΠΎ Π½ΠΈΠΊΠ°ΠΊΠΈΡ… ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ ΠΈΠ»ΠΈ тСкста – Ρ‚ΠΎΠ³Π΄Π° Π½Π° экранС ΠΎΠ½ Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Ρ‚ΡŒΡΡ Π² Π²ΠΈΠ΄Π΅ малСнького ΠΊΡ€ΡƒΠΆΠΎΡ‡ΠΊΠ°.

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

Наш "actions\' – ΠΊΠ»ΠΈΠΏ содСрТит Π΄Π²Π° ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ° onClipEvent. ΠŸΠ΅Ρ€Π²Ρ‹ΠΉ Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ Π² Π½Π°Ρ‡Π°Π»Π΅ Ρ€ΠΎΠ»ΠΈΠΊΠ° ΠΈ создаСт пустой массив, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒ ссылки Π½Π° ΠΊΠ»ΠΈΠΏΡ‹, ΠΎΠ±Ρ€Π°Π·ΡƒΡŽΡˆΠΈΠ΅ хвост. Он Ρ‚Π°ΠΊΠΆΠ΅ устанавливаСт счСтчику trailNum Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ноль. Π­Ρ‚Π° пСрСмСнная содСрТит Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π½ΠΎΠΌΠ΅Ρ€Π° ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π³ΠΎ ΠΊΠ»ΠΈΠΏΠ°, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π²Ρ‹ создадитС.

ΠŸΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Π°Ρ speed опрСдСляСт ΠΊΠ°ΠΊ быстро ΠΊΠ»ΠΈΠΏΡ‹, ΡΠΎΡΡ‚Π°Π²Π»ΡΡŽΡˆΠΈΠ΅ «хвост», Π±ΡƒΠ΄ΡƒΡ‚ ΡƒΠΌΠ΅Π½ΡŒΡˆΠ°Ρ‚ΡŒΡΡ Π² Ρ€Π°Π·ΠΌΠ΅Ρ€Π°Ρ… ΠΈ Ρ‚Π°ΡΡ‚ΡŒ.

On ClipEvent(load) {

// БоздаСм массив.

trail = new Array();

trailNum = 0;

// МСньшСС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ соотвСтствуСт мСньшСй

// скорости.

speed = 2;

}

Π‘Π»Π΅Π΄ΡƒΡŽΡˆΠΈΠΉ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ начинаСтся с создания экзСмпляра ΠΊΠ»ΠΈΠΏΠ°. ΠšΠ°ΠΆΠ΄ΠΎΠΌΡƒ ΠΊΠ»ΠΈΠΏΡƒ присваиваСтся ΡƒΠ½ΠΈΠΊΠ°Π»ΡŒΠ½ΠΎΠ΅ имя Π²ΠΈΠ΄Π° cursor trail + trailNum. ΠŸΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Π°Ρ trailNum ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Ρ‚Π°ΠΊΠΆΠ΅ для опрСдСлСния уровня ΠΎΡ‡Π΅Ρ€Π΅Π΄Π½ΠΎΠ³ΠΎ ΠΊΠ»ΠΈΠΏΠ°.

On ClipEvent(enterFrame) {

// Π‘ΠΎΠ·Π΄Π°Π΅ΠΌ ΠΎΡ‡Π΅Ρ€Π΅Π΄Π½ΠΎΠΉ ΠΊΠ»ΠΈΠΏ.

var mc = _root.attachMovie("cursor trail", "cursor trail" + trailNum, trailNum);

Π‘ΠΎΠ·Π΄Π°Π½Π½Ρ‹ΠΉ ΠΊΠ»ΠΈΠΏ помСшаСм Π² Ρ‚Π΅ΠΊΡƒΡˆΡƒΡŽ ΠΏΠΎΠ·ΠΈΡ†ΠΈΡŽ курсора.

// УстанавливаСм ΠΏΠΎΠ·ΠΈΡ†ΠΈΡŽ.

mc._x = _root._xmouse;

mc._y = _root._ymouse;

Π£ΠΊΠ°Π·Π°Ρ‚Π΅Π»ΡŒ Π½Π° Π½ΠΎΠ²Ρ‹ΠΉ ΠΊΠ»ΠΈΠΏ добавляСтся Π² массив trail. Π—Π°Ρ‚Π΅ΠΌ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ trailNum увСличиваСтся Π½Π° Π΅Π΄ΠΈΠ½ΠΈΡ†Ρƒ.

// ДобавляСм ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»ΡŒ Π² массив.

trail.push(mc);

trailNum++;

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

// ΠžΠ±Ρ€Π°Ρ‰Π°Π΅ΠΌΡΡ ΠΊ ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΌ ΠΊΠ»ΠΈΠΏΠ°ΠΌ.

for (var i=trail.lenght-1; i>=0; i–) {

// УмСньшаСм свойства alpha ΠΈ Ρ€Π°Π·ΠΌΠ΅Ρ€ ΠΊΠ»ΠΈΠΏΠ°.

trail[i]._alpha -= speed;

trail[i]._xscale -= speed;

trail[i]._yscale -= speed;

// УдаляСм ΠΊΠ»ΠΈΠΏ, ΠΊΠΎΠ³Π΄Π° ΠΎΠ½ становится Π½Π΅Π²ΠΈΠ΄ΠΈΠΌΡ‹ΠΌ.

if (trail[i]._alpha<=0) {

// УдаляСм ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»ΡŒ ΠΈΠ· массива.

trail.splice(0, 1);

// УдаляСм клип.

trail[i]. RemoveMovieClip();

}

}

}

ΠžΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, Ρ‡Ρ‚ΠΎ массив сканируСтся ΠΎΡ‚ ΠΊΠΎΠ½Ρ†Π° ΠΊ Π½Π°Ρ‡Π°Π»Ρƒ. Π­Ρ‚ΠΎ сдСлано ΠΏΠΎΡ‚ΠΎΠΌΡƒ, Ρ‡Ρ‚ΠΎ ΠΈΠ· массива врСмя ΠΎΡ‚ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ ΡƒΠ΄Π°Π»ΡΡŽΡ‚ΡΡ элСмСнты. Если Π±Ρ‹ массив сканировался ΠΎΡ‚ Π½Π°Ρ‡Π°Π»Π° ΠΊ ΠΊΠΎΠ½Ρ†Ρƒ, Ρ‚ΠΎ ΠΏΡ€ΠΈ ΡƒΠ΄Π°Π»Π΅Π½ΠΈΠΈ элСмСнта Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π»Π° Π±Ρ‹ ΠΏΡƒΡ‚Π°Π½ΠΈΡ†Π° Π² порядкС слСдования элСмСнтов. НапримСр, Ссли ΡƒΠ΄Π°Π»ΠΈΡ‚ΡŒ ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ элСмСнт, Ρ‚ΠΎ ΠΏΠ΅Ρ€Π²Ρ‹ΠΌ элСмСнтом станСт Π²Ρ‚ΠΎΡ€ΠΎΠΉ. Π’ΠΎΠ³Π΄Π° Π½Π° ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΌ шагС Ρ†ΠΈΠΊΠ»Π° ΠΏΡ€ΠΎΠΈΠ·ΠΎΠΉΠ΄Π΅Ρ‚ ΠΎΠ±Ρ€Π°ΡˆΠ΅Π½ΠΈΠ΅ ΠΊ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΌΡƒ Π·Π° Π²Ρ‚ΠΎΡ€Ρ‹ΠΌ элСмСнту, Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ ΠΊ Ρ‚Ρ€Π΅Ρ‚ΡŒΠ΅ΠΌΡƒ. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, Π²Ρ‚ΠΎΡ€ΠΎΠΉ элСмСнт массива окаТСтся ΠΏΡ€ΠΎΠΏΡƒΡˆΠ΅Π½Π½Ρ‹ΠΌ.

К свСдСнию

МСняя ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ speed, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΠ·ΠΌΠ΅Π½ΡΡ‚ΡŒ Π΄Π»ΠΈΠ½Ρƒ «хвоста». Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ этой ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ Ρ‚Π°ΠΊΠΆΠ΅ влияСт Π½Π° ΡΠΊΠΎΡ€ΠΎΡΡ‚ΡŒ исполнСния Ρ€ΠΎΠ»ΠΈΠΊΠ°, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ Ссли Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ speed малСнькоС, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ 1, Ρ‚ΠΎ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅ приходится ΠΎΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ ΡƒΠΏΡ€Π°Π²Π»ΡΡ‚ΡŒ сотнСй ΠΊΠ»ΠΈΠΏΠΎΠ².

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

Для создания слСда Π·Π° курсором Π²Ρ‹ Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠ»ΠΈΠΏΡ‹, ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°ΡˆΠΈΠ΅ ΡΠΎΠ±ΡΡ‚Π²Π΅Π½Π½ΡƒΡŽ Π°Π½ΠΈΠΌΠ°Ρ†ΠΈΡŽ. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΠΎΠΏΡ€ΠΎΠ±ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ эффСкт ΡΠ²Π΅Ρ€ΠΊΠ°ΡŽΡˆΠ΅Π³ΠΎ ΠΏΠ»Π°ΠΌΠ΅Π½ΠΈ ΠΈΠ»ΠΈ Π΄Ρ‹ΠΌΠ°.

Π­Ρ„Ρ„Π΅ΠΊΡ‚ трСхмСрности

Π˜ΡΡ…ΠΎΠ΄Π½Ρ‹Π΅ Ρ„Π°ΠΉΠ»Ρ‹: 3d.fla, 3dcubepoints.fla, 3dcube.fla, 3dspaceship.fla

Π”Ρ€ΡƒΠ³ΠΈΠΌ часто примСняСмым ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹ΠΌ эффСктом Flash являСтся ΠΌΠΎΠ΄Π΅Π»ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ нСбольшого Ρ‚Ρ€Π΅Ρ…ΠΌΠ΅Ρ€Π½ΠΎΠ³ΠΎ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°. НСкоторыС Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ говорят, Ρ‡Ρ‚ΠΎ Flash Π½Π΅ позволяСт ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ Π½Π°ΡΡ‚ΠΎΡΡˆΡƒΡŽ Ρ‚Ρ€Π΅Ρ…ΠΌΠ΅Ρ€Π½ΡƒΡŽ Π³Ρ€Π°Ρ„ΠΈΠΊΡƒ, Π½ΠΎ это Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π½ΠΈ ΠΎΠ΄Π½Π° ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π½Π°Ρ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π½Ρ‹Π΅ ΠΌΠΎΠ½ΠΈΡ‚ΠΎΡ€Ρ‹ Π΄Π²ΡƒΠΌΠ΅Ρ€Π½Ρ‹Π΅.

Вся ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π½Π°Ρ трСхмСрная Π³Ρ€Π°Ρ„ΠΈΠΊΠ° – это всСго лишь иллюзия. Π₯отя Flash ΠΈ ActionScript Π½Π΅ ΠΌΠΎΠ³ΡƒΡ‚ ΠΏΠΎΡ…Π²Π°ΡΡ‚Π°Ρ‚ΡŒΡΡ большими возмоТностями для создания Ρ‚Ρ€Π΅Ρ…ΠΌΠ΅Ρ€Π½Ρ‹Ρ… ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ², с ΠΈΡ… помошью Π½Π΅Ρ‚Ρ€ΡƒΠ΄Π½ΠΎ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Π΅ эффСкты. Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ Π·Π°ΠΊΠΎΠ½Ρ‹ Ρ‚Ρ€ΠΈΠ³ΠΎΠ½ΠΎΠΌΠ΅Ρ‚Ρ€ΠΈΠΈ, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Ρ‚ΡŒ Ρ‚Ρ€Π΅Ρ…ΠΌΠ΅Ρ€Π½Ρ‹Π΅ ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚Ρ‹ Π² Π΄Π²ΡƒΠΌΠ΅Ρ€Π½Ρ‹Π΅ Π½Π° экранС ΠΈ ΡΠΌΠΎΠ΄Π΅Π»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ простыС ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ Π½Π°ΠΏΠΎΠ΄ΠΎΠ±ΠΈΠ΅ ΠΊΡƒΠ±Π°.

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

Π’ Π΄Π°Π½Π½ΠΎΠΌ Ρ€Π°Π·Π΄Π΅Π»Π΅ Π²Ρ‹ Π½Π°ΡƒΡ‡ΠΈΡ‚Π΅ΡΡŒ ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Ρ‹Π²Π°Ρ‚ΡŒ ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚Ρ‹ Ρ‚Ρ€Π΅Ρ…ΠΌΠ΅Ρ€Π½ΠΎΠ³ΠΎ пространства Π² Π΄Π²ΡƒΠΌΠ΅Ρ€Π½Ρ‹Π΅ экранныС ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚Ρ‹. Π—Π°Ρ‚Π΅ΠΌ Π²Ρ‹ ΠΏΡ€ΠΈΠΌΠ΅Π½ΠΈΡ‚Π΅ эти знания для создания простого Ρ‚Ρ€Π΅Ρ…ΠΌΠ΅Ρ€Π½ΠΎΠ³ΠΎ ΠΊΡƒΠ±Π°, Π° ΠΏΠΎΡ‚ΠΎΠΌ ΠΈ Π±ΠΎΠ»Π΅Π΅ слоТного ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°. ΠŸΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ смоТСт ΡƒΠΏΡ€Π°Π²Π»ΡΡ‚ΡŒ этими модСлями, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡƒΠ±Π΅Π΄ΠΈΡ‚ΡŒΡΡ Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ ΠΎΠ½ΠΈ Π΄Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΡΠ²Π»ΡΡŽΡ‚ΡΡ Ρ‚Ρ€Π΅Ρ…ΠΌΠ΅Ρ€Π½Ρ‹ΠΌΠΈ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°ΠΌΠΈ, Π° Π½Π΅ простыми Π΄Π²ΡƒΠΌΠ΅Ρ€Π½Ρ‹ΠΌΠΈ изобраТСниями.

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

Для Ρ‚ΠΎΠ³ΠΎ Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠ½ΡΡ‚ΡŒ, ΠΊΠ°ΠΊ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ Ρ‚Ρ€Π΅Ρ…ΠΌΠ΅Ρ€Π½Ρ‹Π΅ ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚Ρ‹, Π²Π°ΠΌ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π·Π½Π°Ρ‚ΡŒ основы аналитичСской Π³Π΅ΠΎΠΌΠ΅Ρ‚Ρ€ΠΈΠΈ. Π­Ρ‚ΠΎ ΠΎΠ΄ΠΈΠ½ ΠΈΠ· самых Ρ‚Ρ€ΡƒΠ΄Π½Ρ‹Ρ… Ρ€Π°Π·Π΄Π΅Π»ΠΎΠ² Π΄Π°Π½Π½ΠΎΠΉ ΠΊΠ½ΠΈΠ³ΠΈ, поэтому, Ссли ΠΈΠ·ΡƒΡ‡Π΅Π½ΠΈΠ΅ ΠΌΠ°Ρ‚Π΅ΠΌΠ°Ρ‚ΠΈΠΊΠΈ вас Π½Π΅ ΠΏΡ€ΠΈΠ²Π»Π΅ΠΊΠ°Π΅Ρ‚, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΡ€ΠΎΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ Π΅Π³ΠΎ ΠΈ ΠΏΠ΅Ρ€Π΅ΠΉΡ‚ΠΈ ΠΊ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΉ Π³Π»Π°Π²Π΅.

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

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

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

Π’ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΡ… Ρ€Π°Π·Π΄Π΅Π»Π°Ρ… описываСтся пошаговоС созданиС Ρ‚Ρ€Π΅Ρ…ΠΌΠ΅Ρ€Π½Ρ‹Ρ… ΠΌΠΎΠ΄Π΅Π»Π΅ΠΉ Π² Flash. НачнСм с ΠΊΠΎΠ΄Π°, ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΡƒΡŽΡˆΠ΅Π³ΠΎ Ρ‚Ρ€Π΅Ρ…ΠΌΠ΅Ρ€Π½Ρ‹Π΅ ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚Ρ‹ Π² Π΄Π²ΡƒΠΌΠ΅Ρ€Π½Ρ‹Π΅ экранныС ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚Ρ‹.

ΠŸΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚

ΠœΠ΅ΡΡ‚ΠΎΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² Π½Π° экранС опрСдСляСтся двумя ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚Π°ΠΌΠΈ: x ΠΈ Ρƒ. ΠžΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ Π² Ρ‚Ρ€Π΅Ρ…ΠΌΠ΅Ρ€Π½ΠΎΠΌ пространствС Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΠΈΠΌΠ΅Ρ‚ΡŒ Ρ‚Ρ€ΠΈ ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚Ρ‹: x, Ρƒ ΠΈ z. ПослСдняя опрСдСляСт Π³Π»ΡƒΠ±ΠΈΠ½Ρƒ.

Для отобраТСния ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² Π½Π° Ρ€Π°Π±ΠΎΡ‡Π΅ΠΌ ΠΏΠΎΠ»Π΅ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠ° функция, ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΡƒΡŽΡˆΠ°Ρ x, Ρƒ ΠΈ z Π² экранныС ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚Ρ‹ x ΠΈ Ρƒ. ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, Π²Ρ‹ Π±ΡƒΠ΄Π΅Ρ‚Π΅ Π½Π°ΠΊΠ»ΠΎΠ½ΡΡ‚ΡŒ ΠΈ Π²Ρ€Π°ΡˆΠ°Ρ‚ΡŒ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ функция прСобразования Π΄ΠΎΠ»ΠΆΠ½Π° ΡƒΡ‡ΠΈΡ‚Ρ‹Π²Π°Ρ‚ΡŒ Π±Π°Π·ΠΎΠ²Ρ‹Π΅ Π½Π°ΠΊΠ»ΠΎΠ½Ρ‹ ΠΈ Π²Ρ€Π°ΡˆΠ΅Π½ΠΈΠ΅.

Π£Ρ‡Ρ‚ΠΈΡ‚Π΅, Ρ‡Ρ‚ΠΎ это самый слоТный сцСнарий ΠΈΠ· Ρ‚Π΅Ρ…, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΡ‹ Π΄ΠΎ сих ΠΏΠΎΡ€ рассматривали ΠΈ, Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, ΠΈΠ· всСх сцСнариСв Π΄Π°Π½Π½ΠΎΠΉ ΠΊΠ½ΠΈΠ³ΠΈ.

ΠœΠ°Ρ‚Π΅ΠΌΠ°Ρ‚ΠΈΡ‡Π΅ΡΠΊΠ°Ρ функция Math.atan (arctg, арктангСнс) ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для прСобразования ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚ Π² ΡƒΠ³ΠΎΠ», Π° Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Math.sin ΠΈ Math.cos – для прСобразования значСния ΡƒΠ³Π»ΠΎΠ² ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎ Π² ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚Ρ‹. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚Ρ‹ Ρ‚ΠΎΡ‡ΠΊΠΈ ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΡƒΡŽΡ‚ΡΡ Π² ΡƒΠ³ΠΎΠ» ΠΈ расстояниС ΠΎΡ‚ Ρ†Π΅Π½Ρ‚Ρ€Π° плоскости. Π—Π°Ρ‚Π΅ΠΌ Ρ‚ΠΎΡ‡ΠΊΠ° поворачиваСтся ΠΈ вновь прСобразуСтся Π² ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚Ρ‹. Π”Π°Π½Π½ΠΎΠ΅ дСйствиС выполняСтся ΠΎΠ΄ΠΈΠ½ Ρ€Π°Π· для Π²Ρ€Π°ΡˆΠ΅Π½ΠΈΡ ΠΈ ΠΎΠ΄ΠΈΠ½ Ρ€Π°Π· для Π½Π°ΠΊΠ»ΠΎΠ½Π°. Π’ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅ Π²Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚Π΅ ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚Ρ‹ x ΠΈ Ρƒ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π½Π° экранС ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π°.

ΠšΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΈ, ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°ΡˆΠΈΠ΅ΡΡ Π² Π½ΠΈΠΆΠ΅ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π½ΠΎΠΌ ΠΊΠΎΠ΄Π΅, ΠΎΠ±ΡŠΡΡΠ½ΡΡŽΡ‚, ΠΊΠ°ΠΊΠΎΠ΅ дСйствиС выполняСт каТдая Π΅Π³ΠΎ Ρ‡Π°ΡΡ‚ΡŒ. Π—Π°Ρ‚Π΅ΠΌ приводятся ΠΏΠΎΡˆΠ°Π³ΠΎΠ²Ρ‹Π΅ объяснСния.

// ΠŸΠ΅Ρ€Π΅Π²ΠΎΠ΄ΠΈΠΌ Ρ‚Ρ€Π΅Ρ…ΠΌΠ΅Ρ€Π½Ρ‹Π΅ ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚Ρ‹ Π² ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚Ρ‹ Π½Π° экранС

// (Π΄Π΅Π»Π°Π΅ΠΌ ΠΏΡ€ΠΎΠ΅ΠΊΡ†ΠΈΡŽ).

function plotPoint(object) {

(1) β†’  // Π‘Π΅Ρ€Π΅ΠΌ ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚Ρ‹ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°.

x = object.x;

o = object.o

z = object.z;

(2) β†’ // ВычисляСм расстояниС ΠΎΡ‚ Ρ†Π΅Π½Ρ‚Ρ€Π°.

radius = Math.sqrt (x*x+y*y);

(3) β†’ // ВычисляСм ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ ΡƒΠ³ΠΎΠ».

if (x == 0) angle = Math.atan(l000000) [11] ;

else angle = Math.atan(y/x);

if (x < 0) angle += Math.PI;

(4) β†’ // ΠŸΠΎΠ²ΠΎΡ€Π°Ρ‡ΠΈΠ²Π°Π΅ΠΌ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚.

angle += rotation;

(5) β†’ // ВычисляСм Π½ΠΎΠ²Ρ‹Π΅ ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚Ρ‹.

realx = radius*Math.cos(angle);

realz = radius*Math.sin(angle);

realy = z;

(6) β†’ // ΠžΠΏΡ€Π΅Π΄Π΅Π»ΡΠ΅ΠΌ Π½ΠΎΠ²ΠΎΠ΅ расстояниС ΠΎΡ‚ Ρ†Π΅Π½Ρ‚Ρ€Π°.

radius = Math.sqrt(realy*realy+realz*realz);

(7) β†’ // ВычисляСм Π²Ρ‚ΠΎΡ€ΠΎΠΉ ΡƒΠ³ΠΎΠ».

if (realz == 0) angle = Math.atan(1000000);

else angle = Math.atan(realy/realz);

if (realz < 0) angle += Math.PI;

(8) β†’ // ДобавляСм ΡƒΠ³ΠΎΠ» Π½Π°ΠΊΠ»ΠΎΠ½Π° сСчСния.

angle += plane;

(9) β†’ // ВычисляСм ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚Ρ‹ для экрана.

screenx = realx;

screeny = radius*Math.sin(angle);

screenz = radius*Math.cos(angle);

(10) β†’ // Π¦Π΅Π½Ρ‚Ρ€ΠΈΡ€ΡƒΠ΅ΠΌ ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°.

screenx += 275;

screeny += 200;

(11) β†’ // Π’ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅ΠΌ Π½ΠΎΠ²Ρ‹Π΅ ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚Ρ‹.

return({x:screenx,y:screeny,z:screenz});...

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