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

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

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

НС стоит Π΄ΡƒΠΌΠ°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ Flash ΠΌΠΎΠΆΠ΅Ρ‚ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ, Π΄ΡƒΠ±Π»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΈ ΡƒΠ΄Π°Π»ΡΡ‚ΡŒ Π²Π»ΠΎΠΆΠ΅Π½Π½Ρ‹Π΅ ΠΊΠ»ΠΈΠΏΡ‹. БСйчас ΠΌΡ‹ рассмотрим свойства ΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° movieclip, с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΌΠΎΠΆΠ½ΠΎ ΠΈΠ·ΠΌΠ΅Π½ΡΡ‚ΡŒ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ встроСнных ΠΊΠ»ΠΈΠΏΠΎΠ²: мСстополоТСниС, Ρ€Π°Π·ΠΌΠ΅Ρ€Ρ‹ ΠΈ ΠΏΡ€.

Π’Π°ΠΊ, свойства _Ρ… ΠΈ _Ρƒ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° movieclip ΠΏΡ€Π΅Π΄ΠΎΡΡ‚Π°Π²Π»ΡΡŽΡ‚ доступ соотвСтствСнно ΠΊ Π³ΠΎΡ€ΠΈΠ·ΠΎΠ½Ρ‚Π°Π»ΡŒΠ½ΠΎΠΉ ΠΈ Π²Π΅Ρ€Ρ‚ΠΈΠΊΠ°Π»ΡŒΠ½ΠΎΠΉ ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚Π°ΠΌ ΠΊΠ»ΠΈΠΏΠ°. Π­Ρ‚ΠΈ ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚Ρ‹ ΠΎΡ‚ΡΡ‡ΠΈΡ‚Ρ‹Π²Π°ΡŽΡ‚ΡΡ Π² пиксСлах ΠΎΡ‚ Ρ‚ΠΎΡ‡ΠΊΠΈ отсчСта ΠΊΠ»ΠΈΠΏΠ° ΠΈ Π·Π°Π΄Π°ΡŽΡ‚ΡΡ ΠΎΡ‚Π½ΠΎΡΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ внСшнСго ΠΊΠ»ΠΈΠΏΠ°, Ρ‚. Π΅. Ρ‚ΠΎΠ³ΠΎ, Π² ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Ρ‚Π΅ΠΊΡƒΡ‰ΠΈΠΉ ΠΊΠ»ΠΈΠΏ Π²Π»ΠΎΠΆΠ΅Π½.

Π’ΠΎΡ‚ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ сцСнария, ΠΈΠ·ΠΌΠ΅Π½ΡΡŽΡ‰Π΅Π³ΠΎ ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚Ρ‹ "Ρ„Π°Ρ€" Π² нашСм ΠΊΠ»ΠΈΠΏΠ΅ car:

_root.car._x = 200;

_root.car.headlightl._y = _root.car.headlight2._y + 20;

Бвойства _width ΠΈ _height содСрТат соотвСтствСнно ΡˆΠΈΡ€ΠΈΠ½Ρƒ ΠΈ высоту ΠΊΠ»ΠΈΠΏΠ°.

Бвойства _xscale ΠΈ _yscale Π·Π°Π΄Π°ΡŽΡ‚ ΠΏΡ€ΠΎΡ†Π΅Π½Ρ‚ измСнСния Ρ€Π°Π·ΠΌΠ΅Ρ€ΠΎΠ² ΠΊΠ»ΠΈΠΏΠ° соотвСтствСнно ΠΏΠΎ Π³ΠΎΡ€ΠΈΠ·ΠΎΠ½Ρ‚Π°Π»ΠΈ ΠΈ Π²Π΅Ρ€Ρ‚ΠΈΠΊΠ°Π»ΠΈ. ЗначСния, большиС 100, Π·Π°ΡΡ‚Π°Π²Π»ΡΡŽΡ‚ ΠΊΠ»ΠΈΠΏ ΡƒΠ²Π΅Π»ΠΈΡ‡ΠΈΡ‚ΡŒ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΉ Ρ€Π°Π·ΠΌΠ΅Ρ€, Π° мСньшиС 100 β€” ΡƒΠΌΠ΅Π½ΡŒΡˆΠΈΡ‚ΡŒ. Π’Π°ΠΊ, Ссли Π·Π°Π΄Π°Ρ‚ΡŒ для свойства _xscale Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ 50, Ρ‚ΠΎ ΠΊΠ»ΠΈΠΏ соТмСтся ΠΏΠΎ Π³ΠΎΡ€ΠΈΠ·ΠΎΠ½Ρ‚Π°Π»ΠΈ Π²Π΄Π²ΠΎΠ΅.

Бвойство _aipha позволяСт ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ ΠΈΠ»ΠΈ Π·Π°Π΄Π°Ρ‚ΡŒ ΡΡ‚Π΅ΠΏΠ΅Π½ΡŒ прозрачности ΠΊΠ»ΠΈΠΏΠ°. Доступны Π»ΡŽΠ±Ρ‹Π΅ Ρ†Π΅Π»Ρ‹Π΅ значСния ΠΎΡ‚ 0 (полная ΠΏΡ€ΠΎΠ·Ρ€Π°Ρ‡Π½ΠΎΡΡ‚ΡŒ) Π΄ΠΎ 100 (полная Π½Π΅ΠΏΡ€ΠΎΠ·Ρ€Π°Ρ‡Π½ΠΎΡΡ‚ΡŒ).

Бвойство _rotation Π·Π°Π΄Π°Π΅Ρ‚ ΡƒΠ³ΠΎΠ» ΠΏΠΎΠ²ΠΎΡ€ΠΎΡ‚Π° ΠΊΠ»ΠΈΠΏΠ° Π² градусах. НапримСр:

onClipEvent(enterFrame) {

++this._rotation;

β€” this._alpha;

}

Π­Ρ‚ΠΎΡ‚ сцСнарий заставляСт Π²Π»ΠΎΠΆΠ΅Π½Π½Ρ‹ΠΉ ΠΊΠ»ΠΈΠΏ Π² процСссС воспроизвСдСния Ρ„ΠΈΠ»ΡŒΠΌΠ° ΠΏΠ»Π°Π²Π½ΠΎ ΠΏΠΎΠ²ΠΎΡ€Π°Ρ‡ΠΈΠ²Π°Ρ‚ΡŒΡΡ ΠΈ ΠΎΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ ΠΏΠ»Π°Π²Π½ΠΎ ΠΈΡΡ‡Π΅Π·Π°Ρ‚ΡŒ. ЀактичСски ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ Π½Π°ΡΡ‚ΠΎΡΡ‰ΡƒΡŽ Π°Π½ΠΈΠΌΠ°Ρ†ΠΈΡŽ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ срСдствами ActionScript.

Бвойство _visible позволяСт ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ ΠΊΠ»ΠΈΠΏ Π½Π΅Π²ΠΈΠ΄ΠΈΠΌΡ‹ΠΌ. Оно ΠΈΠΌΠ΅Π΅Ρ‚ логичСский Ρ‚ΠΈΠΏ: Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ true Π΄Π΅Π»Π°Π΅Ρ‚ ΠΊΠ»ΠΈΠΏ Π²ΠΈΠ΄ΠΈΠΌΡ‹ΠΌ, Π° Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ false β€” Π½Π΅Π²ΠΈΠ΄ΠΈΠΌΡ‹ΠΌ.

onClipEvent(mouseDown) {

this._visible = ~this._visible;

}

Π­Ρ‚ΠΎΡ‚ сцСнарий ΠΏΡ€ΠΈ ΠΊΠ°ΠΆΠ΄ΠΎΠΌ Ρ‰Π΅Π»Ρ‡ΠΊΠ΅ ΠΏΠΎ ΠΊΠ»ΠΈΠΏΡƒ Π΄Π΅Π»Π°Π΅Ρ‚ Π΅Π³ΠΎ Ρ‚ΠΎ Π²ΠΈΠ΄ΠΈΠΌΡ‹ΠΌ, Ρ‚ΠΎ Π½Π΅Π²ΠΈΠ΄ΠΈΠΌΡ‹ΠΌ.

А Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ познакомимся с ΠΌΠ΅Ρ‚ΠΎΠ΄Π°ΠΌΠΈ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° MovieClip, с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΌΠΎΠΆΠ½ΠΎ ΠΈΠ·ΠΌΠ΅Π½ΡΡ‚ΡŒ порядок пСрСкрытия встроСнных ΠΊΠ»ΠΈΠΏΠΎΠ².

ΠœΠ΅Ρ‚ΠΎΠ΄ getDepth Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ порядок пСрСкрытия Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π³ΠΎ ΠΊΠ»ΠΈΠΏΠ°. Π­Ρ‚ΠΎΡ‚ ΠΌΠ΅Ρ‚ΠΎΠ΄ Π½Π΅ ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Π΅Ρ‚ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ².

ΠœΠ΅Ρ‚ΠΎΠ΄ getNextHighestDepth Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ блиТайшСС Π²Π΅Ρ€Ρ…Π½Π΅Π΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ уровня пСрСкрытия, Π΅Ρ‰Π΅ Π½ΠΈΡ‡Π΅ΠΌ Π½Π΅ занятоС. Π•Π³ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΡ€ΠΈ создании Π½ΠΎΠ²Ρ‹Ρ… ΠΊΠ»ΠΈΠΏΠΎΠ². НапримСр, Ρ‚Π°ΠΊ:

var clip2 = clipl.duplicateMovieClip("clip2",

_root.getNextHighestDepth());

Π­Ρ‚ΠΎ Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ создаст Π½ΠΎΠ²Ρ‹ΠΉ ΠΊΠ»ΠΈΠΏ clip2, ΠΏΡ€ΠΎΠ΄ΡƒΠ±Π»ΠΈΡ€ΠΎΠ²Π°Π² ΡƒΠΆΠ΅ ΠΈΠΌΠ΅ΡŽΡ‰ΠΈΠΉΡΡ Π½Π° Ρ€Π°Π±ΠΎΡ‡Π΅ΠΌ листС ΠΊΠ»ΠΈΠΏ clip1, ΠΈ помСстит Π΅Π³ΠΎ "Π½Π°Π΄" всСми ΠΊΠ»ΠΈΠΏΠ°ΠΌΠΈ.

ΠœΠ΅Ρ‚ΠΎΠ΄ getinstanceAtDepth Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ ссылку Π½Π° ΠΊΠ»ΠΈΠΏ, ΠΈΠΌΠ΅ΡŽΡ‰ΠΈΠΉ Π·Π°Π΄Π°Π½Π½Ρ‹ΠΉ порядок пСрСкрытия. Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ порядка пСрСкрытия пСрСдаСтся Π² качСствС СдинствСнного ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π°.

ΠœΠ΅Ρ‚ΠΎΠ΄ swapDepths мСняСт значСния порядка пСрСкрытия Π΄Π²ΡƒΡ… ΠΊΠ»ΠΈΠΏΠΎΠ² мСстами. Π€ΠΎΡ€ΠΌΠ°Ρ‚ Π΅Π³ΠΎ Π²Ρ‹Π·ΠΎΠ²Π° Ρ‚Π°ΠΊΠΎΠ²:

<Клип 1>.swapDepths("<Клип 2>"|<ΠŸΠΎΡ€ΡΠ΄ΠΎΠΊ пСрСкрытия>);

Π’ качСствС ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π° этого ΠΌΠ΅Ρ‚ΠΎΠ΄Π° ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΏΠ΅Ρ€Π΅Π΄Π°Π½ ΠΏΡƒΡ‚ΡŒ Π²Ρ‚ΠΎΡ€ΠΎΠ³ΠΎ ΠΊΠ»ΠΈΠΏΠ° ΠΈΠ»ΠΈ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π½ΡƒΠΆΠ½ΠΎΠ³ΠΎ порядка пСрСкрытия. ΠŸΡ€ΠΈΡ‡Π΅ΠΌ ΠΏΡƒΡ‚ΡŒ Π²Ρ‚ΠΎΡ€ΠΎΠ³ΠΎ ΠΊΠ»ΠΈΠΏΠ° пСрСдаСтся ΠΊΠ°ΠΊ строка.

Π’ΠΎΡ‚ Ρ‚Ρ€ΠΈ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π° использования этого ΠΌΠ΅Ρ‚ΠΎΠ΄Π°:

_root.car.swapDepths("_root.tractor");

_root.car.swapDepths (10);

_root.car.swapDepths(_root.tractor.getDepth());

ΠŸΠΎΠ»ΡƒΡ‡Π΅Π½ΠΈΠ΅ слуТСбной ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ ΠΎ ΠΊΠ»ΠΈΠΏΠ΅

ΠžΠ±ΡŠΠ΅ΠΊΡ‚ MovieClip ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ Π½Π°Π±ΠΎΡ€ особых свойств, доступных Ρ‚ΠΎΠ»ΡŒΠΊΠΎ для чтСния. Π­Ρ‚ΠΈ свойства Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°ΡŽΡ‚ Ρ€Π°Π·Π»ΠΈΡ‡Π½ΡƒΡŽ ΡΠ»ΡƒΠΆΠ΅Π±Π½ΡƒΡŽ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ, Π·Π°Ρ‡Π°ΡΡ‚ΡƒΡŽ Π½Π΅ ΠΎΡ‚Π½ΠΎΡΡΡ‰ΡƒΡŽΡΡ ΠΊ самому ΠΊΠ»ΠΈΠΏΡƒ. НиТС пСрСчислСны Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΈΠ· Π½ΠΈΡ….

Бвойство _name Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ имя ΠΊΠ»ΠΈΠΏΠ°, Π·Π°Π΄Π°Π½Π½ΠΎΠ΅ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΏΠ°Π½Π΅Π»ΠΈ Properties, Π² строковом Π²ΠΈΠ΄Π΅.

Бвойство _target Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ ΠΏΠΎΠ»Π½Ρ‹ΠΉ ΠΏΡƒΡ‚ΡŒ ΠΊΠ»ΠΈΠΏΠ° Π² строковом Π²ΠΈΠ΄Π΅.

Бвойства _xmouse ΠΈ _ymouse Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°ΡŽΡ‚ соотвСтствСнно Π³ΠΎΡ€ΠΈΠ·ΠΎΠ½Ρ‚Π°Π»ΡŒΠ½ΡƒΡŽ ΠΈ Π²Π΅Ρ€Ρ‚ΠΈΠΊΠ°Π»ΡŒΠ½ΡƒΡŽ ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚Ρ‹ курсора ΠΌΡ‹ΡˆΠΈ ΠΎΡ‚Π½ΠΎΡΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ Ρ‚ΠΎΡ‡ΠΊΠΈ отсчСта ΠΊΠ»ΠΈΠΏΠ°. ΠŸΠΎΠ»ΡŒΠ·ΡƒΡΡΡŒ этими свойствами, ΠΌΠΎΠΆΠ½ΠΎ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ пСрСмСщСния ΠΌΡ‹ΡˆΠΈ. НапримСр:

onClipEvent(enterFrame) {

myCursor._x = _root._xmouse;

myCursor._y = _root._ymouse;

}

Π­Ρ‚ΠΎΡ‚ сцСнарий заставляСт Π²Π»ΠΎΠΆΠ΅Π½Π½Ρ‹ΠΉ ΠΊΠ»ΠΈΠΏ myCursor ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Ρ‰Π°Ρ‚ΡŒΡΡ вслСд Π·Π° курсором ΠΌΡ‹ΡˆΠΈ. ЀактичСски сам ΠΊΠ»ΠΈΠΏ Π±ΡƒΠ΄Π΅Ρ‚ вСсти сСбя ΠΊΠ°ΠΊ курсор ΠΌΡ‹ΡˆΠΈ.

Бвойство _current frame Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ Π½ΠΎΠΌΠ΅Ρ€ ΠΊΠ°Π΄Ρ€Π° ΠΊΠ»ΠΈΠΏΠ°, Π½Π° ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ Π² Π΄Π°Π½Π½Ρ‹ΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ‚ стоит Π±Π΅Π³ΡƒΠ½ΠΎΠΊ (фактичСски Π½ΠΎΠΌΠ΅Ρ€ воспроизводимого Π² Π΄Π°Π½Π½Ρ‹ΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ‚ ΠΊΠ°Π΄Ρ€Π°).

Бвойство _totalframes Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ ΠΎΠ±Ρ‰Π΅Π΅ количСство ΠΊΠ°Π΄Ρ€ΠΎΠ², содСрТащихся Π²ΠΎ Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½Π΅ΠΉ Π°Π½ΠΈΠΌΠ°Ρ†ΠΈΠΈ ΠΊΠ»ΠΈΠΏΠ°.

Бвойство _url Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ ΠΈΠ½Ρ‚Π΅Ρ€Π½Π΅Ρ‚-адрСс, с ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ Π±Ρ‹Π» Π·Π°Π³Ρ€ΡƒΠΆΠ΅Π½ ΠΊΠ»ΠΈΠΏ ΠΈΠ»ΠΈ Ρ„ΠΈΠ»ΡŒΠΌ. Иногда это Ρ‚ΠΎΠΆΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΡ€ΠΈΠ³ΠΎΠ΄ΠΈΡ‚ΡŒΡΡ.

Бвойство _framesloaded Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ количСство ΠΊΠ°Π΄Ρ€ΠΎΠ² ΠΊΠ»ΠΈΠΏΠ°, Π΄Π°Π½Π½Ρ‹Π΅ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΏΡ€ΠΎΠΈΠ³Ρ€Ρ‹Π²Π°Ρ‚Π΅Π»ΡŒ Flash ΡƒΠΆΠ΅ Π·Π°Π³Ρ€ΡƒΠ·ΠΈΠ». А ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ getBytesLoaded ΠΈ getBytesTotal ΠΏΠΎΠΌΠΎΠ³ΡƒΡ‚ ΡƒΠ·Π½Π°Ρ‚ΡŒ соотвСтствСнно количСство Π·Π°Π³Ρ€ΡƒΠΆΠ΅Π½Π½Ρ‹Ρ… Π±Π°ΠΉΡ‚ΠΎΠ² ΠΊΠ»ΠΈΠΏΠ° ΠΈ ΠΏΠΎΠ»Π½Ρ‹ΠΉ Ρ€Π°Π·ΠΌΠ΅Ρ€ ΠΊΠ»ΠΈΠΏΠ° Π² Π±Π°ΠΉΡ‚Π°Ρ…. Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ ΠΈΡ…, ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ ΠΈΠ½Π΄ΠΈΠΊΠ°Ρ‚ΠΎΡ€Ρ‹ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ ΠΊΠ»ΠΈΠΏΠ° ΠΈΠ»ΠΈ Ρ„ΠΈΠ»ΡŒΠΌΠ°.

РСализация drag'n'drop

Π’Π΅Ρ€ΠΌΠΈΠ½ΠΎΠΌ "drag'n'drop" ("Ρ‚Π°Ρ‰ΠΈ ΠΈ бросай") ΠΎΠ±ΠΎΠ·Π½Π°Ρ‡Π°ΡŽΡ‚ Ρ†Π΅Π»Ρ‹ΠΉ Π½Π°Π±ΠΎΡ€ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ, связанных с пСрСтаскиваниСм ΠΊΠ°ΠΊΠΈΡ…-Π»ΠΈΠ±ΠΎ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ систСмы (Ρ„Π°ΠΉΠ»ΠΎΠ², ΠΏΠ°ΠΏΠΎΠΊ, ярлыков), систСмных ΠΈΠ»ΠΈ ΠΏΡ€ΠΈΠΊΠ»Π°Π΄Π½Ρ‹Ρ… ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ. Π’Π°ΠΊ, Π²ΠΎ Flash с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ пСрСтаскивания измСняСтся мСстополоТСниС Ρ„Ρ€Π°Π³ΠΌΠ΅Π½Ρ‚ΠΎΠ² изобраТСния ΠΈ Π±Π΅Π³ΡƒΠ½ΠΊΠ° ΠΏΠ°Π½Π΅Π»ΠΈ Timeline.

ΠœΡ‹ Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅ΠΌ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ "drag'n'drop" Π² своих Ρ„ΠΈΠ»ΡŒΠΌΠ°Ρ… Flash. БСйчас ΠΌΡ‹ выясним, ΠΊΠ°ΠΊ это ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ.

ΠŸΠ΅Ρ€Π²ΠΎΠ΅, Ρ‡Ρ‚ΠΎ Π½Π°ΠΌ понадобится, β€” это дСйствиС startDrag. Оно Π΄Π΅Π»Π°Π΅Ρ‚ ΠΊΠ»ΠΈΠΏ доступным для буксировки с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΌΡ‹ΡˆΠΈ. Π€ΠΎΡ€ΠΌΠ°Ρ‚ Π²Ρ‹Π·ΠΎΠ²Π° дСйствия Ρ‚Π°ΠΊΠΎΠΉ:

startDrag(<Клип>, [<Π—Π° Ρ†Π΅Π½Ρ‚Ρ€>, <Π₯1>, <Y1>, <Π₯2>, <Y2>]);

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

Π’Ρ‚ΠΎΡ€ΠΎΠΉ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ (Π·Π° Ρ†Π΅Π½Ρ‚Ρ€) ΠΈΠΌΠ΅Π΅Ρ‚ логичСский Ρ‚ΠΈΠΏ. Он позволяСт ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ Ρ‚ΠΎΡ‡ΠΊΡƒ, ΠΊ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ Π±ΡƒΠ΄Π΅Ρ‚ автоматичСски "ΠΏΡ€ΠΈΠΊΠ»Π΅ΠΈΠ²Π°Ρ‚ΡŒΡΡ" курсор ΠΌΡ‹ΡˆΠΈ ΠΏΡ€ΠΈ пСрСтаскивании. Π­Ρ‚ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Ρ‚ΠΎΡ‡ΠΊΠ°, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ Ρ‰Π΅Π»ΠΊΠ½ΡƒΠ» ΠΌΡ‹ΡˆΡŒΡŽ (Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ false), ΠΈΠ»ΠΈ Ρ†Π΅Π½Ρ‚Ρ€ ΠΊΠ»ΠΈΠΏΠ° (Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ true).

ΠžΡΡ‚Π°Π»ΡŒΠ½Ρ‹Π΅ Ρ‡Π΅Ρ‚Ρ‹Ρ€Π΅ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π° ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‚ ΠΎΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΏΡ€ΡΠΌΠΎΡƒΠ³ΠΎΠ»ΡŒΠ½ΡƒΡŽ ΠΎΠ±Π»Π°ΡΡ‚ΡŒ, Π²Π½ΡƒΡ‚Ρ€ΠΈ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ ΠΌΠΎΠΆΠ½ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΠ΅Ρ€Π΅Ρ‚Π°ΡΠΊΠΈΠ²Π°Ρ‚ΡŒ ΠΊΠ»ΠΈΠΏ ΠΈ Π·Π° ΠΏΡ€Π΅Π΄Π΅Π»Ρ‹ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ ΠΎΠ½ Π½Π΅ смоТСт Π²Ρ‹ΠΉΡ‚ΠΈ. Π§Π΅Ρ€Π΅Π· ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ X1 ΠΈ Y1 Π·Π°Π΄Π°ΡŽΡ‚ΡΡ Π³ΠΎΡ€ΠΈΠ·ΠΎΠ½Ρ‚Π°Π»ΡŒΠ½Π°Ρ ΠΈ Π²Π΅Ρ€Ρ‚ΠΈΠΊΠ°Π»ΡŒΠ½Π°Ρ ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚Ρ‹ Π»Π΅Π²ΠΎΠ³ΠΎ Π²Π΅Ρ€Ρ…Π½Π΅Π³ΠΎ ΡƒΠ³Π»Π° этой области, Π° Π·Π° ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚Ρ‹ ΠΏΡ€Π°Π²ΠΎΠ³ΠΎ Π½ΠΈΠΆΠ½Π΅Π³ΠΎ ΡƒΠ³Π»Π° "ΠΎΡ‚Π²Π΅Ρ‡Π°ΡŽΡ‚" ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ Π₯2 ΠΈ Y2. ВсС ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚Ρ‹ Π·Π°Π΄Π°ΡŽΡ‚ΡΡ ΠΎΡ‚Π½ΠΎΡΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ внСшнСго ΠΊΠ»ΠΈΠΏΠ°.

Π’ΠΎΡ‚ Π΄Π²Π° ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π° примСнСния дСйствия startDrag:

startDrag(_root.car);

startDrag(_root.car, true, 100, 100, 500, 500);

ΠŸΠ΅Ρ€Π²ΠΎΠ΅ Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ просто Π΄Π΅Π»Π°Π΅Ρ‚ ΠΊΠ»ΠΈΠΏ пСрСтаскиваСмым. ΠŸΡ€ΠΈ этом ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ смоТСт "ΡƒΡ…Π²Π°Ρ‚ΠΈΡ‚ΡŒ" Π΅Π³ΠΎ ΠΌΡ‹ΡˆΡŒΡŽ ΠΈ ΠΏΠ΅Ρ€Π΅Ρ‚Π°Ρ‰ΠΈΡ‚ΡŒ Π½Π° Π½ΠΎΠ²ΠΎΠ΅ мСсто. Π’Ρ‚ΠΎΡ€ΠΎΠ΅ ΠΆΠ΅ Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅, ΠΊΡ€ΠΎΠΌΠ΅ этого, Π·Π°Π΄Π°Π΅Ρ‚ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ пСрСтаскиваСмого ΠΊΠ»ΠΈΠΏΠ°.

ВмСсто дСйствия startDrag ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΎΠ΄Π½ΠΎΠΈΠΌΠ΅Π½Π½Ρ‹ΠΉ ΠΌΠ΅Ρ‚ΠΎΠ΄ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° movieClip:

<KΠ»ΠΈΠΏ>.startDrag([<Π—Π° Ρ†Π΅Π½Ρ‚Ρ€>, [<Π₯1>, <Y1>, <Π₯2>, <Y2>]]);

ПослС Π²Ρ‹Π·ΠΎΠ²Π° дСйствия ΠΈΠ»ΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄Π° startDrag ΠΊΠ»ΠΈΠΏ останСтся пСрСтаскиваСмым Π½Π° сколь ΡƒΠ³ΠΎΠ΄Π½ΠΎ Π΄ΠΎΠ»Π³ΠΎΠ΅ врСмя. Π§Ρ‚ΠΎΠ±Ρ‹ Π·Π°Π²Π΅Ρ€ΡˆΠΈΡ‚ΡŒ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΡŽ "drag'n'drop", Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Ссли ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ отпустит ΠΊΠ½ΠΎΠΏΠΊΡƒ ΠΌΡ‹ΡˆΠΈ, Π½ΡƒΠΆΠ½ΠΎ Π²Ρ‹Π·Π²Π°Ρ‚ΡŒ дСйствиС ΠΈΠ»ΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄ stopDrag. Π’ΠΎΡ‚ Ρ‚Π°ΠΊ (дСйствиС):

stopDrag();

ΠΈΠ»ΠΈ Ρ‚Π°ΠΊ (ΠΌΠ΅Ρ‚ΠΎΠ΄):

_root.car.stopDrag();

На Π·Π°ΠΌΠ΅Ρ‚ΠΊΡƒ

Для Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΡ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ "drag'n'drop" Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ½ΠΎ Π²Ρ‹Π·Π²Π°Ρ‚ΡŒ Π΅Ρ‰Π΅ Ρ€Π°Π· дСйствиС ΠΈΠ»ΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄ startDrag, Π½ΠΎ ΡƒΠΆΠ΅ для Π΄Ρ€ΡƒΠ³ΠΎΠ³ΠΎ ΠΊΠ»ΠΈΠΏΠ°. Волько ΠΎΠ΄ΠΈΠ½ ΠΊΠ»ΠΈΠΏ Π² Π΄Π°Π½Π½Ρ‹ΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ‚ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ пСрСтаскиваСмым.

Π’Π΅ΠΏΠ΅Ρ€ΡŒ Π΄Π°Π²Π°ΠΉΡ‚Π΅ ΠΏΠΎΠ΄ΡƒΠΌΠ°Π΅ΠΌ, ΠΊΠ°ΠΊ ΠΏΡ€ΠΈΠΌΠ΅Π½ΠΈΡ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ‡Ρ‚ΠΎ ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½Π½Ρ‹Π΅ свСдСния Π² Π΄Π΅Π»Π΅ написания Ρ€Π΅Π°Π»ΡŒΠ½Ρ‹Ρ… сцСнариСв-ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ² событий.

Для запуска ΠΈ Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΡ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ "drag'n'drop" ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ событий mouseDown ΠΈ mouseUp ΠΊΠ»ΠΈΠΏΠ° β€” это ΠΎΡ‡Π΅Π²ΠΈΠ΄Π½ΠΎ. Π”Π°Π²Π°ΠΉΡ‚Π΅ напишСм эти ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ ΠΈ привяТСм ΠΈΡ… ΠΊ ΠΊΠ»ΠΈΠΏΡƒ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π½ΡƒΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ пСрСтаскиваСмым.

onClipEvent(mouseDown) {

this.startDrag(false);

}

onClipEvent(mouseUp) {

this._x = _root._xmouse;

this._y = _root._ymouse;

this.stopDrag();

}

ΠžΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ события mouseDown запускаСт ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΡŽ пСрСтаскивания ΠΊΠ»ΠΈΠΏΠ°. А ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ события mouseUp Π·Π°Π²Π΅Ρ€ΡˆΠ°Π΅Ρ‚ эту ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΡŽ ΠΈ ΠΎΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ ΠΏΠΎΠΌΠ΅Ρ‰Π°Π΅Ρ‚ ΠΊΠ»ΠΈΠΏ Π² Ρ‚Ρƒ Ρ‚ΠΎΡ‡ΠΊΡƒ, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ отпустил ΠΊΠ½ΠΎΠΏΠΊΡƒ ΠΌΡ‹ΡˆΠΈ. Как Π²ΠΈΠ΄ΠΈΠΌ, здСсь Π½Π΅Ρ‚ Π½ΠΈΡ‡Π΅Π³ΠΎ слоТного.