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

Π§ΠΈΡ‚Π°Ρ‚ΡŒ ΠΎΠ½Π»Π°ΠΉΠ½ Β«Macromedia Flash Professional 8. Π“Ρ€Π°Ρ„ΠΈΠΊΠ° ΠΈ анимация». Π‘Ρ‚Ρ€Π°Π½ΠΈΡ†Π° 97

Автор Π’. Π”Ρ€ΠΎΠ½ΠΎΠ²

ΠžΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° Π½Π°ΠΆΠ°Ρ‚ΠΈΠΉ клавиш Π² ΠΊΠ»ΠΈΠΏΠ°Ρ…

А Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ ΠΏΠΎΠ³ΠΎΠ²ΠΎΡ€ΠΈΠΌ ΠΎ Ρ‚ΠΎΠΌ, ΠΊΠ°ΠΊ ΠΆΠ΅ собствСнно выполняСтся ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° Π½Π°ΠΆΠ°Ρ‚ΠΈΠΉ клавиш ΠΊΠ»Π°Π²ΠΈΠ°Ρ‚ΡƒΡ€Ρ‹. Π’Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ Π΅Π΅ ΠΌΠΎΠΆΠ½ΠΎ двумя способами, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΡ‹ ΠΈ рассмотрим Π² этом Ρ€Π°Π·Π΄Π΅Π»Π΅.

ΠžΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° Π½Π°ΠΆΠ°Ρ‚ΠΈΠΉ клавиш Π² ΠΊΠ»ΠΈΠΏΠ°Ρ…

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

Π‘ΠΎΠ·Π΄Π°Π΄ΠΈΠΌ Π½ΠΎΠ²Ρ‹ΠΉ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ Flash. Π’ Π½Π΅ΠΌ создадим ΠΎΠ±Ρ€Π°Π·Π΅Ρ†-ΠΊΠ»ΠΈΠΏ, содСрТащий ΠΏΡ€ΠΎΡΡ‚ΡƒΡŽ Π³Π΅ΠΎΠΌΠ΅Ρ‚Ρ€ΠΈΡ‡Π΅ΡΠΊΡƒΡŽ Ρ„ΠΈΠ³ΡƒΡ€Ρƒ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΊΡ€ΡƒΠ³. ΠŸΠΎΠΌΠ΅ΡΡ‚ΠΈΠΌ экзСмпляр этого ΠΎΠ±Ρ€Π°Π·Ρ†Π° Π½Π° Ρ€Π°Π±ΠΎΡ‡ΠΈΠΉ лист ΠΈ Π½Π°Π·ΠΎΠ²Π΅ΠΌ Π΅Π³ΠΎ circle. Π­Ρ‚ΠΎΡ‚ экзСмпляр ΠΌΡ‹ заставим ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Ρ‰Π°Ρ‚ΡŒΡΡ ΠΏΠΎ листу Π² ΠΎΡ‚Π²Π΅Ρ‚ Π½Π° наТатия клавиш β€” стрСлок.

Π’Π΅ΠΏΠ΅Ρ€ΡŒ Π²Ρ‹Π΄Π΅Π»ΠΈΠΌ наш экзСмпляр ΠΈ привяТСм ΠΊ Π½Π΅ΠΌΡƒ довольно слоТный сцСнарий, содСрТащий ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ сразу Π΄Π²ΡƒΡ… событий. Для удобства рассмотрим ΠΈΡ… ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎ Π΄Ρ€ΡƒΠ³ ΠΎΡ‚ Π΄Ρ€ΡƒΠ³Π°.

onClipEvent(load) {

d = 1;

}

ΠžΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ события load ΠΏΠΎΠΌΠ΅Ρ‰Π°Π΅Ρ‚ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π² ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ d сразу послС Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ ΠΊΠ»ΠΈΠΏΠ°. Π­Ρ‚Π° пСрСмСнная Π·Π°Π΄Π°Π΅Ρ‚ Π²Π΅Π»ΠΈΡ‡ΠΈΠ½Ρƒ пСрСмСщСния нашСго экзСмпляра ΠΏΡ€ΠΈ Π½Π°ΠΆΠ°Ρ‚ΠΈΠΈ любой клавиши-стрСлки. МоТно Π·Π°Π΄Π°Ρ‚ΡŒ ΠΈ большСС число, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π·Π°ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ ΠΊΠ»ΠΈΠΏ Π΄Π²ΠΈΠ³Π°Ρ‚ΡŒΡΡ быстрСС.

Π’Ρ‚ΠΎΡ€ΠΎΠΉ Ρ„Ρ€Π°Π³ΠΌΠ΅Π½Ρ‚ сцСнария выглядит Π±ΠΎΠ»Π΅Π΅ слоТным:

onClipEvent(keyDown) {

switch (Key.getCode()) {

case Key.UP:

_root.circle._y β€” = d;

break;

case Key.DOWN:

_root.circle._y += d;

break;

case Key.LEFT:

_root.circle._x β€” = d;

break;

case Key.RIGHT:

_root.circle._x += d;

break;

}

}

Но, нСсмотря Π½Π° ΠΊΠ°ΠΆΡƒΡ‰ΡƒΡŽΡΡ ΡΠ»ΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ, этот ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ события keyDown довольно-Ρ‚Π°ΠΊΠΈ прост. Он сравниваСт Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π° Π½Π°ΠΆΠ°Ρ‚ΠΎΠΉ клавиши с ΠΊΠΎΠ΄Π°ΠΌΠΈ клавиш-стрСлок ΠΈ, Ссли ΠΎΠ΄Π½Π° ΠΈΠ· Π½ΠΈΡ… Π½Π°ΠΆΠ°Ρ‚Π°, измСняСт ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΡƒΡŽ ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚Ρƒ ΠΊΠ»ΠΈΠΏΠ° circle.

Π’Π΅ΠΏΠ΅Ρ€ΡŒ запустим созданный Ρ„ΠΈΠ»ΡŒΠΌ Π½Π° воспроизвСдСниС Π² ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎΠΌ ΠΎΠΊΠ½Π΅. Он Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚!

ΠšΠΎΠ½Π΅Ρ‡Π½ΠΎ, наш ΠΏΡ€ΠΈΠΌΠ΅Ρ€ ΠΎΡ‡Π΅Π½ΡŒ прост. Π’Π΅ΠΌ Π½Π΅ ΠΌΠ΅Π½Π΅Π΅, Ρ€ΡƒΠΊΠΎΠ²ΠΎΠ΄ΡΡ‚Π²ΡƒΡΡΡŒ ΠΈΠΌ, ΠΌΠΎΠΆΠ½ΠΎ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ ΠΈ нСсравнимо Π±ΠΎΠ»Π΅Π΅ слоТныС Π²Π΅Ρ‰ΠΈ. НапримСр β€” ΠΊΠ°ΠΊ насчСт ΠΈΠ³Ρ€Ρ‹ "15", Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π½ΠΎΠΉ Π½Π° Flash? Или всСм извСстного "Π‘Π°ΠΏΠ΅Ρ€Π°"?

ΠžΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° Π½Π°ΠΆΠ°Ρ‚ΠΈΠΉ клавиш с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΏΠ΅Ρ€Π΅Ρ…Π²Π°Ρ‚Ρ‡ΠΈΠΊΠ°

Π’Ρ‚ΠΎΡ€ΠΎΠΉ способ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ наТатия клавиш β€” ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΠ΅Ρ€Π΅Ρ…Π²Π°Ρ‚Ρ‡ΠΈΠΊ. Π­Ρ‚ΠΎΡ‚ ΠΏΠ΅Ρ€Π΅Ρ…Π²Π°Ρ‚Ρ‡ΠΈΠΊ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΈΠΌΠ΅Ρ‚ΡŒ свойства onKeyUp ΠΈ onKeyDown, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π±Ρ‹Ρ‚ΡŒ присвоСны Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ, ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°ΡŽΡ‰ΠΈΠ΅ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠ΅ события. Π‘ΠΎΠ±Ρ‹Ρ‚ΠΈΠ΅ onKeyDown Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ‚ ΠΏΡ€ΠΈ Π½Π°ΠΆΠ°Ρ‚ΠΈΠΈ клавиши, Π° событиС onKeyUp β€” ΠΏΡ€ΠΈ Π΅Π΅ отпускании.

Π”Π°Π²Π°ΠΉΡ‚Π΅ ΠΏΠ΅Ρ€Π΅ΠΏΠΈΡˆΠ΅ΠΌ созданный Ρ€Π°Π½Π΅Π΅ сцСнарий Ρ‚Π°ΠΊ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΠ½ использовал ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ. Π’ Π΄Π°Π½Π½ΠΎΠΌ случаС ΠΎΠ½ Π±ΡƒΠ΄Π΅Ρ‚ привязан Π½Π΅ ΠΊ ΠΊΠ»ΠΈΠΏΡƒ, Π° ΠΊ ΠΏΠ΅Ρ€Π²ΠΎΠΌΡƒ ΠΊΠ°Π΄Ρ€Ρƒ Π°Π½ΠΈΠΌΠ°Ρ†ΠΈΠΈ Ρ„ΠΈΠ»ΡŒΠΌΠ°.

Рассмотрим этот сцСнарий ΠΏΠΎ частям.

Π‘Π½Π°Ρ‡Π°Π»Π°:

var d = 1;

Π­Ρ‚ΠΎ ΡƒΠΆΠ΅ знакомая Π½Π°ΠΌ пСрСмСнная, Π·Π°Π΄Π°ΡŽΡ‰Π°Ρ Π²Π΅Π»ΠΈΡ‡ΠΈΠ½Ρƒ смСщСния ΠΊΠ»ΠΈΠΏΠ° Π·Π° ΠΎΠ΄ΠΈΠ½ шаг.

А дальшС:

function fOnKeyDown() {

switch (Key.getCode()) {

case Key.UP:

_root.circle._y β€” = d;

break;

case Key.DOWN:

_root.circle._y += d;

break;

case Key.LEFT:

_root.circle._x β€” = d;

break;

case Key.RIGHT:

_root.circle._x += d;

break;

}

}

А это объявлСниС Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ, ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°ΡŽΡ‰Π΅ΠΉ событиС onKeyDown. Π•Π΅ ΠΊΠΎΠ΄ практичСски совпадаСт с ΠΊΠΎΠ΄ΠΎΠΌ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ° события keyDown для ΠΊΠ»ΠΈΠΏΠ°, написанного Π½Π°ΠΌΠΈ Ρ€Π°Π½Π΅Π΅.

И, Π½Π°ΠΊΠΎΠ½Π΅Ρ†:

var myListener = new Object ();

myListener.onKeyDown = fOnKeyDown;

Key.addListener(myListener);

Π­Ρ‚ΠΎΡ‚ Ρ„Ρ€Π°Π³ΠΌΠ΅Π½Ρ‚ ΠΊΠΎΠ΄Π° создаСт ΠΈ привязываСт ΠΊ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρƒ Key ΠΏΠ΅Ρ€Π΅Ρ…Π²Π°Ρ‚Ρ‡ΠΈΠΊ. БобствСнно, это Ρ‚ΠΎΠΆΠ΅ Π½Π°ΠΌ Π·Π½Π°ΠΊΠΎΠΌΠΎ.

ВзаимодСйствиС с ΠΌΡ‹ΡˆΡŒΡŽ

Для взаимодСйствия с ΠΌΡ‹ΡˆΡŒΡŽ слуТит ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Mouse. ЕдинствСнный экзСмпляр этого ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° ΠΏΠΎΠ΄ ΠΈΠΌΠ΅Π½Π΅ΠΌ Mouse создаСтся самим Flash.

ΠŸΡ€Π΅ΠΆΠ΄Π΅ всСго, этот ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ прСдоставляСт ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ hide ΠΈ show. ΠŸΠ΅Ρ€Π²Ρ‹ΠΉ ΠΌΠ΅Ρ‚ΠΎΠ΄ скрываСт курсор ΠΌΡ‹ΡˆΠΈ, Π° Π²Ρ‚ΠΎΡ€ΠΎΠΉ β€” вновь Π²Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ Π΅Π³ΠΎ Π½Π° экран. Ни ΠΎΠ΄ΠΈΠ½ ΠΈΠ· Π½ΠΈΡ… Π½Π΅ ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Π΅Ρ‚ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ². Π­Ρ‚ΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ, ΠΊΠ°ΠΊ ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ, ΠΏΡ€ΠΈ создании Ρ„ΠΈΠ³ΡƒΡ€Π½Ρ‹Ρ… курсоров ΠΌΡ‹ΡˆΠΈ.

ΠžΠ±ΡŠΠ΅ΠΊΡ‚ Mouse ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ Ρ‚Π°ΠΊΠΆΠ΅ Ρ‚Ρ€ΠΈ события:

β–‘ событиС onMouseDown Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ‚ ΠΏΡ€ΠΈ Π½Π°ΠΆΠ°Ρ‚ΠΈΠΈ Π»Π΅Π²ΠΎΠΉ ΠΊΠ½ΠΎΠΏΠΊΠΈ ΠΌΡ‹ΡˆΠΈ;

β–‘ событиС onMouseUp Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ‚ ΠΏΡ€ΠΈ отпускании Π»Π΅Π²ΠΎΠΉ ΠΊΠ½ΠΎΠΏΠΊΠΈ ΠΌΡ‹ΡˆΠΈ;

β–‘ событиС onMouseMove Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ‚ ΠΏΡ€ΠΈ любом ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Ρ‰Π΅Π½ΠΈΠΈ ΠΌΡ‹ΡˆΠΈ;

β–‘ событиС onMouseWheel Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ‚ ΠΏΡ€ΠΈ ΠΏΡ€ΠΎΠΊΡ€ΡƒΡ‚ΠΊΠ΅ колСсика ΠΌΡ‹ΡˆΠΈ, Ссли Ρ‚Π°ΠΊΠΎΠ΅ имССтся.

Для ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ этих событий ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ ΠΏΠ΅Ρ€Π΅Ρ…Π²Π°Ρ‚Ρ‡ΠΈΠΊΠΈ. ВсС Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ, ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°ΡŽΡ‰ΠΈΠ΅ ΠΈΡ…, Π½Π΅ ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°ΡŽΡ‚ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ², Π·Π° ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ΠΌ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ-ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ° события onMouseWheel. Она ΠΈΠΌΠ΅Π΅Ρ‚ Ρ‚Π°ΠΊΠΎΠΉ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚:

function <Имя>([<Π‘ΠΌΠ΅Ρ‰Π΅Π½ΠΈΠ΅>, <Клип, Π½Π°Π΄ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌ находится курсор ΠΌΡ‹ΡˆΠΈ>])

ΠŸΠ΅Ρ€Π²Ρ‹ΠΉ ΠΈΠ· Π½Π΅ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ² этой Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ опрСдСляСт смСщСниС, Π½Π° ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ ΠΏΡ€ΠΎΠΊΡ€ΡƒΡ‚ΠΈΠ» колСсико ΠΌΡ‹ΡˆΠΈ. Оно пСрСдаСтся Π² числовом Π²ΠΈΠ΄Π΅ Π² Ρ‚Π°ΠΊ Π½Π°Π·Ρ‹Π²Π°Π΅ΠΌΡ‹Ρ… "Ρ‚ΠΈΠΊΠ°Ρ…". Π’Ρ‚ΠΎΡ€ΠΎΠΉ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ ΠΏΠ΅Ρ€Π΅Π΄Π°Π΅Ρ‚ ссылку Π½Π° ΠΊΠ»ΠΈΠΏ, Π½Π°Π΄ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌ находился курсор ΠΌΡ‹ΡˆΠΈ Π²ΠΎ врСмя ΠΏΡ€ΠΎΠΊΡ€ΡƒΡ‚ΠΊΠΈ Π΅Π΅ колСсика.

Для отслСТивания ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚ ΠΌΡ‹ΡˆΠΈ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ свойства _xmouse ΠΈ _ymouse ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° movieClip. Π­Ρ‚ΠΎΡ‚ "Π½ΡƒΠΆΠ½Ρ‹ΠΉ экзСмпляр" ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΊΠ°ΠΊ внСшнСй Π°Π½ΠΈΠΌΠ°Ρ†ΠΈΠ΅ΠΉ (_root), Ρ‚Π°ΠΊ ΠΈ ΠΊΠ°ΠΊΠΈΠΌ-Π»ΠΈΠ±ΠΎ Π²Π»ΠΎΠΆΠ΅Π½Π½Ρ‹ΠΌ ΠΊΠ»ΠΈΠΏΠΎΠΌ. Π­Ρ‚ΠΈ ΠΆΠ΅ свойства ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‚ΡΡ ΠΈ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠΌ Button.

Π£ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ Π·Π²ΡƒΠΊΠΎΠ²Ρ‹ΠΌ сопровоТдСниСм Ρ„ΠΈΠ»ΡŒΠΌΠ°

Для управлСния Π·Π²ΡƒΠΊΠΎΠ²Ρ‹ΠΌ сопровоТдСниСм Ρ„ΠΈΠ»ΡŒΠΌΠ° слуТат экзСмпляры ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° sound. (О Ρ€Π°Π±ΠΎΡ‚Π΅ со Π·Π²ΡƒΠΊΠΎΠΌ Π²ΠΎ Flash см. Π³Π»Π°Π²Ρƒ 17.) Π­Ρ‚ΠΈ экзСмпляры ΡΠΎΠ·Π΄Π°ΡŽΡ‚ΡΡ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ, ΠΈΠΌΠ΅ΡŽΡ‰ΠΈΡ… ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚:

<ΠŸΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Π°Ρ> = new Sound([<Клип, Π·Π²ΡƒΠΊΠΎΠ²Ρ‹ΠΌ сопровоТдСниСм ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ Π½ΡƒΠΆΠ½ΠΎ <ΡƒΠΏΡ€Π°Π²Π»ΡΡ‚ΡŒ>]);

Π‘ СдинствСнным ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠΌ этому конструктору пСрСдаСтся ссылка Π½Π° ΠΊΠ»ΠΈΠΏ, Π·Π²ΡƒΠΊΠΎΠ²Ρ‹ΠΌ сопровоТдСниСм ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ ΠΌΡ‹ собираСмся ΡƒΠΏΡ€Π°Π²Π»ΡΡ‚ΡŒ. Если этот ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ Π½Π΅ ΡƒΠΊΠ°Π·Π°Π½, создаСтся экзСмпляр ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°, ΡƒΠΏΡ€Π°Π²Π»ΡΡŽΡ‰ΠΈΠΉ Π·Π²ΡƒΠΊΠΎΠ²Ρ‹ΠΌ сопровоТдСниСм всСго Ρ„ΠΈΠ»ΡŒΠΌΠ°.

Π’ΠΎΡ‚ Π΄Π²Π° ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π° создания Ρ€Π°Π·Π½Ρ‹Ρ… экзСмпляров ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° sound:

carSound = new Sound(car);

globalSound = new Sound();

ЭкзСмпляр carSound позволяСт ΡƒΠΏΡ€Π°Π²Π»ΡΡ‚ΡŒ Π·Π²ΡƒΠΊΠΎΠ²Ρ‹ΠΌ сопровоТдСниСм ΠΊΠ»ΠΈΠΏΠ° саг, Π° экзСмпляр globalSound β€” всСго Ρ„ΠΈΠ»ΡŒΠΌΠ°.

ΠžΠ±ΡŠΠ΅ΠΊΡ‚ sound ΠΈΠΌΠ΅Π΅Ρ‚ мноТСство свойств ΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ². Π’ этом Ρ€Π°Π·Π΄Π΅Π»Π΅ ΠΌΡ‹ рассмотрим Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΈΠ· Π½ΠΈΡ….

ΠœΠ΅Ρ‚ΠΎΠ΄ start запускаСт воспроизвСдСниС Π·Π²ΡƒΠΊΠ°. Он ΠΈΠΌΠ΅Π΅Ρ‚ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ Π²Ρ‹Π·ΠΎΠ²Π°:

<ЭкзСмпляр ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Sound>.start([<ΠžΡ‚ΠΌΠ΅Ρ‚ΠΊΠ°>, <ΠšΠΎΠ»ΠΈΡ‡Π΅ΡΡ‚Π²ΠΎ ΠΏΠΎΠ²Ρ‚ΠΎΡ€ΠΎΠ²>]);

Π­Ρ‚ΠΎΡ‚ ΠΌΠ΅Ρ‚ΠΎΠ΄ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Ρ‚ΡŒ Π΄Π²Π° Π½Π΅ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π°. ΠŸΠ΅Ρ€Π²Ρ‹ΠΉ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚, с ΠΊΠ°ΠΊΠΎΠΉ ΠΎΡ‚ΠΌΠ΅Ρ‚ΠΊΠΈ Π½Π°Ρ‡Π½Π΅Ρ‚ Π²ΠΎΡΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚ΡŒΡΡ Π·Π²ΡƒΠΊ; ΠΎΡ‚ΠΌΠ΅Ρ‚ΠΊΠ° задаСтся ΠΊΠ°ΠΊ количСство сСкунд, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Flash отсчитаСт с ΠΌΠΎΠΌΠ΅Π½Ρ‚Π° Π½Π°Ρ‡Π°Π»Π° Π·Π²ΡƒΠΊΠ°. Π‘ΠΎ Π²Ρ‚ΠΎΡ€Ρ‹ΠΌ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠΌ пСрСдаСтся количСство ΠΏΠΎΠ²Ρ‚ΠΎΡ€ΠΎΠ² Π·Π²ΡƒΠΊΠ°. Если Π½ΠΈ ΠΎΠ΄ΠΈΠ½ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ Π½Π΅ Π·Π°Π΄Π°Π½, Π·Π²ΡƒΠΊΠΎΠ²ΠΎΠ΅ сопровоТдСниС Π±ΡƒΠ΄Π΅Ρ‚ воспроизвСдСно ΠΎΠ΄ΠΈΠ½ Ρ€Π°Π· с самого Π½Π°Ρ‡Π°Π»Π°.

НапримСр, Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅

carSound.start (10, 2);

запускаСт воспроизвСдСниС Π·Π²ΡƒΠΊΠ°, привязанного ΠΊ ΠΊΠ»ΠΈΠΏΡƒ car, с дСсятисСкундной ΠΎΡ‚ΠΌΠ΅Ρ‚ΠΊΠΈ ΠΈ воспроизводит Π΅Π³ΠΎ Π΄Π²Π° Ρ€Π°Π·Π°.

ΠœΠ΅Ρ‚ΠΎΠ΄ stop Π½Π΅ΠΌΠ΅Π΄Π»Π΅Π½Π½ΠΎ останавливаСт воспроизвСдСниС Π·Π²ΡƒΠΊΠ°. Π€ΠΎΡ€ΠΌΠ°Ρ‚ Π΅Π³ΠΎ Π²Ρ‹Π·ΠΎΠ²Π° Ρ‚Π°ΠΊΠΎΠ²:

<ЭкзСмпляр ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Sound>.stop([<Π˜Π΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ ΠΎΠ±Ρ€Π°Π·Ρ†Π°-Π·Π²ΡƒΠΊΠ°>]);

Π’ качСствС СдинствСнного ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π° этого ΠΌΠ΅Ρ‚ΠΎΠ΄Π° ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΏΠ΅Ρ€Π΅Π΄Π°Π½ΠΎ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ сцСнарного ΠΎΠ±Ρ€Π°Π·Ρ†Π°-Π·Π²ΡƒΠΊΠ°, воспроизвСдСниС экзСмпляра ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ Π½ΡƒΠΆΠ½ΠΎ ΠΎΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ, Π² строковом Π²ΠΈΠ΄Π΅. Если ΠΌΠ΅Ρ‚ΠΎΠ΄ Π±Ρ‹Π» Π²Ρ‹Π·Π²Π°Π½ Π±Π΅Π· ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π°, останавливаСтся воспроизвСдСниС всСх Π·Π²ΡƒΠΊΠΎΠ².

carSound.stop("engineSound");

Π­Ρ‚ΠΎ Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ ΠΎΡ‚ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ воспроизвСдСниС Π·Π²ΡƒΠΊΠ° engineSound, привязанного ΠΊ ΠΊΠ»ΠΈΠΏΡƒ car.

НС ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°ΡŽΡ‰ΠΈΠΉ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ² ΠΌΠ΅Ρ‚ΠΎΠ΄ getVolume Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ громкости Π·Π²ΡƒΠΊΠ°. А ΠΌΠ΅Ρ‚ΠΎΠ΄ setVolume позволяСт Π·Π°Π΄Π°Ρ‚ΡŒ Π½ΠΎΠ²ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ громкости Π·Π²ΡƒΠΊΠ°, ΠΏΠ΅Ρ€Π΅Π΄Π°Π½Π½ΠΎΠ΅ Π² качСствС Π΅Π³ΠΎ СдинствСнного ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π°. Доступны значСния ΠΎΡ‚ 0 (Π·Π²ΡƒΠΊ Π½Π΅ ΡΠ»Ρ‹ΡˆΠ΅Π½) Π΄ΠΎ 100 (полная Π³Ρ€ΠΎΠΌΠΊΠΎΡΡ‚ΡŒ; Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ).

carSound.setVolume(mySound.getVolume() + 10);

Π­Ρ‚ΠΎ Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ ΡƒΠ²Π΅Π»ΠΈΡ‡ΠΈΠ²Π°Π΅Ρ‚ Π³Ρ€ΠΎΠΌΠΊΠΎΡΡ‚ΡŒ Ρ€Π°Π±ΠΎΡ‚Ρ‹ автомобиля Π½Π° Π΄Π΅ΡΡΡ‚ΡŒ Π΅Π΄ΠΈΠ½ΠΈΡ†.

ΠŸΠ°Ρ€Π° ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ² get Pan ΠΈ set Pan Π²Π΅Π΄ΡƒΡ‚ сСбя Ρ‚Π°ΠΊ ΠΆΠ΅ ΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‚ Π·Π°Π΄Π°Ρ‚ΡŒ ΠΏΠ°Π½ΠΎΡ€Π°ΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π·Π²ΡƒΠΊΠ° Π² пространствС. Π—Π΄Π΅ΡΡŒ доступны значСния ΠΎΡ‚ -100 (Π·Π²ΡƒΠΊ Π² Π»Π΅Π²ΠΎΠΌ ΠΊΠ°Π½Π°Π»Π΅) Π΄ΠΎ 100 (Π·Π²ΡƒΠΊ Π² ΠΏΡ€Π°Π²ΠΎΠΌ ΠΊΠ°Π½Π°Π»Π΅); Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ β€” 0 (Π·Π²ΡƒΠΊ "посСрСдинС").

carSound.setPan(50);

ΠžΠ±ΡŠΠ΅ΠΊΡ‚ sound Ρ‚Π°ΠΊΠΆΠ΅ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ Π΄Π²Π° свойства, доступныС Ρ‚ΠΎΠ»ΡŒΠΊΠΎ для чтСния. Бвойство position Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ Ρ‚Π΅ΠΊΡƒΡ‰ΡƒΡŽ Π²ΠΎΡΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΠΌΡƒΡŽ ΠΏΠΎΠ·ΠΈΡ†ΠΈΡŽ Π·Π²ΡƒΠΊΠ° Π² миллисСкундах. А свойство duration Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ ΠΎΠ±Ρ‰ΡƒΡŽ ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ Π·Π²ΡƒΠΊΠ°, Ρ‚Π°ΠΊΠΆΠ΅ Π² миллисСкундах.