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

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

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

Рисунок 2.11 . ПанСль Properties ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ для связи тСкстового ΠΎΠΊΠ½Π° с ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ ActionScript

ΠŸΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Π°Ρ ΠΌΠΎΠΆΠ΅Ρ‚ Ρ‚Π°ΠΊΠΆΠ΅ Π±Ρ‹Ρ‚ΡŒ связана с Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΈΡ€ΡƒΠ΅ΠΌΡ‹ΠΌ тСкстом. Π’ Π΄Π°Π½Π½ΠΎΠΌ случаС ΠΏΡ€ΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΈ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ соотвСтствСнно измСняСтся содСрТимоС тСкстового ΠΎΠΊΠ½Π° ΠΈ Π½Π°ΠΎΠ±ΠΎΡ€ΠΎΡ‚. Π’ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΌ ΡƒΡ€ΠΎΠΊΠ΅ ΠΌΡ‹ рассмотрим Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ, Π° Ρ‚Π°ΠΊΠΆΠ΅ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ динамичСского тСкстового ΠΎΠΊΠ½Π°.

Π£Ρ€ΠΎΠΊ 13. Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ

Ѐункция – это Ρ‡Π°ΡΡ‚ΡŒ ΠΊΠΎΠ΄Π°, которая ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ использована ΠΌΠ½ΠΎΠ³ΠΎΠΊΡ€Π°Ρ‚Π½ΠΎ. Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΠ΅Ρ€Π΅Π΄Π°Π²Π°Ρ‚ΡŒ Π² Π½Π΅Π΅ нСсколько Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ ΠΈ ΠΏΠΎΠ»ΡƒΡ‡Π°Ρ‚ΡŒ ΠΈΠ· Π½Π΅Π΅ Π½ΠΎΠ²Ρ‹Π΅. ΠŸΡ€ΠΈΠΌΠ΅Ρ€ΠΎΠΌ являСтся функция, Π²Ρ‹Π΄Π°ΡŽΡ‰Π°Ρ сумму Π΄Π²ΡƒΡ… чисСл. Π’ΠΎΡ‚ ΠΊΠ°ΠΊ ΠΎΠ½Π° Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹Π³Π»ΡΠ΄Π΅Ρ‚ΡŒ Π² ActionScript:

function sum(a, b) {

c = a + b;

return c;

}

ΠžΠ±Ρ‹Ρ‡Π½ΠΎ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΏΠΎΠΌΠ΅Ρ‰Π°ΡŽΡ‚ΡΡ Π² сцСнарии ΠΊΠ°Π΄Ρ€Π° Π³Π»Π°Π²Π½ΠΎΠΉ Π²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ ΡˆΠΊΠ°Π»Ρ‹. Ѐункция задаСтся ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ ΠΊΠ»ΡŽΡ‡Π΅Π²ΠΎΠ³ΠΎ (Π·Π°Ρ€Π΅Π·Π΅Ρ€Π²ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ) слова function. Π—Π°Ρ‚Π΅ΠΌ указываСтся имя Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ, Π·Π° ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌ ΡΠ»Π΅Π΄ΡƒΡŽΡ‚ ΠΊΡ€ΡƒΠ³Π»Ρ‹Π΅ скобки ΠΈ открытая фигурная скобка {. ΠšΡ€ΡƒΠ³Π»Ρ‹Π΅ скобки ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ пустыми ΠΈΠ»ΠΈ ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒ список ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ…, Π·Π°Π΄Π°Π²Π°Π΅ΠΌΡ‹Ρ… ΠΏΡ€ΠΈ Π²Ρ‹Π·ΠΎΠ²Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ. Π­Ρ‚ΠΈ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ Π½Π°Π·Ρ‹Π²Π°ΡŽΡ‚ΡΡ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π°ΠΌΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ (ΠΈΠ»ΠΈ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Π°ΠΌΠΈ). НапримСр, прСдыдущая функция ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Π²Ρ‹Π·Π²Π°Π½Π° ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ:

trace (sum(7, 12));

Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ΠΎΠΌ обращСния ΠΊ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Π±ΡƒΠ΄Π΅Ρ‚ число 19, ΠΏΠΎΠΌΠ΅Ρ‰Π°Π΅ΠΌΠΎΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ trace Π² ΠΎΠΊΠ½ΠΎ Output. ΠŸΡ€ΠΈ ΠΎΠ±Ρ€Π°Ρ‰Π΅Π½ΠΈΠΈ ΠΊ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ sum Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ 7 пСрСдаСтся Π² Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ ΠΊΠ°ΠΊ пСрСмСнная Π°, Π° Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ 12 – ΠΊΠ°ΠΊ пСрСмСнная b. ПослС выполнСния Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Π° return посылаСт Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ c ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎ ΠΊ sum. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, для выполнСния своСй Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Π° trace ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ sum(7, 12) β€“ число 19.

Π€ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ ΠΏΠΎ Π΄Π²ΡƒΠΌ ΠΏΡ€ΠΈΡ‡ΠΈΠ½Π°ΠΌ. ΠŸΠ΅Ρ€Π²Π°Ρ – это Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ Ρ€Π°Π·Π΄Π΅Π»ΠΈΡ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ Π½Π° Π±ΠΎΠ»Π΅Π΅ ΠΌΠ΅Π»ΠΊΠΈΠ΅ части. ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ, ΡΠΎΡΡ‚ΠΎΡΡ‰ΡƒΡŽ ΠΈΠ· 30 строк ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡŽΡ‰ΡƒΡŽ Ρ‚Ρ€ΠΈ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ Π·Π°Π΄Π°Ρ‡ΠΈ, ΠΌΠΎΠΆΠ½ΠΎ Π·Π°ΠΌΠ΅Π½ΠΈΡ‚ΡŒ Π½Π° Ρ‚Ρ€ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ, состоящиС ΠΈΠ· 10 строк, каТдая ΠΈΠ· ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… выполняСт свою Π·Π°Π΄Π°Ρ‡Ρƒ. Π­Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΠΎΠ±Π»Π΅Π³Ρ‡Π°Π΅Ρ‚ Ρ€Π°Π±ΠΎΡ‚Ρƒ с ΠΊΠΎΠ΄ΠΎΠΌ.

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

Π˜ΡΡ…ΠΎΠ΄Π½Ρ‹ΠΉ Ρ„Π°ΠΉΠ»: Framelabeler.fla ΠŸΡ€ΠΈΠ²Π΅Π΄Π΅ΠΌ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‰Π΅ΠΉ Π² качСствС Π²Ρ…ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π° имя ΠΌΠ΅Ρ‚ΠΊΠΈ ΠΊΠ°Π΄Ρ€Π°. Она выполняСт Π΄Π²Π΅ Π·Π°Π΄Π°Ρ‡ΠΈ. Π’ΠΎ-ΠΏΠ΅Ρ€Π²Ρ‹Ρ…, ΠΏΠΎΠΌΠ΅Ρ‰Π°Π΅Ρ‚ имя Π² Ρ‚Π΅ΠΊΡΡ‚ΠΎΠ²ΡƒΡŽ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ textFrameLabel. Π­Ρ‚ΠΎ тСкстовоС ΠΎΠΊΠ½ΠΎ Π²ΠΈΠ΄Π½ΠΎ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŽ ΠΏΡ€ΠΈ воспроизвСдСнии Ρ€ΠΎΠ»ΠΈΠΊΠ°, ΠΎΠ½ΠΎ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠΈΡ€ΡƒΠ΅Ρ‚ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ ΠΎ Ρ‚ΠΎΠΌ, Π² ΠΊΠ°ΠΊΠΎΠΌ ΠΊΠ°Π΄Ρ€Π΅ ΠΎΠ½ находится Π² Π΄Π°Π½Π½Ρ‹ΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ‚. Π’Ρ‚ΠΎΡ€ΠΎΠΉ Π·Π°Π΄Π°Ρ‡Π΅ΠΉ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ являСтся Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ gotoAndStop – ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ ΠΊ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠΌΡƒ ΠΊΠ°Π΄Ρ€Ρƒ ΠΈ остановка воспроизвСдСния.

function gotoFrame(frameLabel) {

frameLabelText = frameLabel;

gotoAndStop(frameLabel);

}

Ѐункция помСщаСтся Π² ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ ΠΊΠ°Π΄Ρ€ Π³Π»Π°Π²Π½ΠΎΠΉ Π²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ ΡˆΠΊΠ°Π»Ρ‹ вмСстС с ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ, Π·Π°Π΄Π°ΡŽΡ‰Π΅ΠΉ ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ Ρ€ΠΎΠ»ΠΈΠΊΠ° ΠΊ Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎΠΌΡƒ ΠΊΠ°Π΄Ρ€Ρƒ. Π’Π°ΠΊ ΠΊΠ°ΠΊ Ρ€ΠΎΠ»ΠΈΠΊ ΡƒΠΆΠ΅ находится Π² ΠΏΠ΅Ρ€Π²ΠΎΠΌ ΠΊΠ°Π΄Ρ€Π΅, ΠΊΠΎΠΌΠ°Π½Π΄Π° gotoAndStop просто останавливаСт Ρ€ΠΎΠ»ΠΈΠΊ.

gotoFrame(Β«introductionΒ»);

Π’ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ Framelabeler.fla функция содСрТится Π² ΠΏΠ΅Ρ€Π²ΠΎΠΌ ΠΊΠ»ΡŽΡ‡Π΅Π²ΠΎΠΌ ΠΊΠ°Π΄Ρ€Π΅. К ΠΊΠ°ΠΆΠ΄ΠΎΠΌΡƒ ΠΈΠ· пяти ΠΊΠ°Π΄Ρ€ΠΎΠ² ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠ΅Ρ€Π΅ΠΉΡ‚ΠΈ ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ ΠΊΠ½ΠΎΠΏΠΎΠΊ, располоТСнных Π² Π½ΠΈΠΆΠ½Π΅ΠΉ части экрана. ВмСсто ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ gotoAndStop всС ΠΊΠ½ΠΎΠΏΠΊΠΈ ΠΎΠ±Ρ€Π°Ρ‰Π°ΡŽΡ‚ΡΡ ΠΊ ΠΊΠΎΠΌΠ°Π½Π΄Π΅ gotoFrame.

На рис. 2.12 ΠΏΠΎΠΊΠ°Π·Π°Π½ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ Ρ€ΠΎΠ»ΠΈΠΊΠ°. Π’ Π²Π΅Ρ€Ρ…Π½Π΅ΠΌ Π»Π΅Π²ΠΎΠΌ ΡƒΠ³Π»Ρƒ Ρ€Π°Π±ΠΎΡ‡Π΅Π³ΠΎ поля находится ΠΎΠ±Π»Π°ΡΡ‚ΡŒ динамичСского тСкста. Π’Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ ΠΎΠ½ содСрТит слова "frame label". ΠŸΡ€ΠΈ ΠΏΠ΅Ρ€Π²ΠΎΠΌ ΠΎΠ±Ρ€Π°Ρ‰Π΅Π½ΠΈΠΈ ΠΊ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ gotoFrame ΠΎΠ½ΠΈ Π±ΡƒΠ΄ΡƒΡ‚ Π·Π°ΠΌΠ΅Π½Π΅Π½Ρ‹ Π½Π° Β«introductionΒ».

Рисунок 2.12. Π ΠΎΠ»ΠΈΠΊ состоит ΠΈΠ· пяти ΠΊΠ°Π΄Ρ€ΠΎΠ² ΠΈ пяти ΠΊΠ½ΠΎΠΏΠΎΠΊ для ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄Π° ΠΊ ΠΊΠ°ΠΆΠ΄ΠΎΠΌΡƒ ΠΊΠ°Π΄Ρ€Ρƒ. ВСкстовоС ΠΎΠΊΠ½ΠΎ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Π΅Ρ‚ имя Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΉ ΠΌΠ΅Ρ‚ΠΊΠΈ ΠΊΠ°Π΄Ρ€Π°

ΠŸΡ€Π΅ΠΈΠΌΡƒΡ‰Π΅ΡΡ‚Π²ΠΎ использования ΠΎΠ΄Π½ΠΎΠΉ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ для контроля всСй Π½Π°Π²ΠΈΠ³Π°Ρ†ΠΈΠΈ Π·Π°ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π² мСньшСм количСствС Π½Π°ΠΆΠ°Ρ‚ΠΈΠΉ Π½Π° клавиши ΠΏΡ€ΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ. ΠŸΡ€Π΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠΈΠΌ, Ρ‡Ρ‚ΠΎ ΠΊ ΠΌΠΎΠΌΠ΅Π½Ρ‚Ρƒ Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΡ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π²Ρ‹ 100 Ρ€Π°Π· ΠΎΠ±Ρ€Π°Ρ‚ΠΈΠ»ΠΈΡΡŒ ΠΊ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ gotoFrame. Π—Π°Ρ‚Π΅ΠΌ Π²Ρ‹ Ρ€Π΅ΡˆΠΈΠ»ΠΈ ΡƒΠ΄Π°Π»ΠΈΡ‚ΡŒ ΠΎΠΊΠ½ΠΎ textFrameLabel ΠΈΠ»ΠΈ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ Π΅Π³ΠΎ. Если Π±Ρ‹ Π²Ρ‹ Π½Π΅ использовали Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ, Ρ‚ΠΎ Π²Π°ΠΌ ΠΏΡ€ΠΈΡˆΠ»ΠΎΡΡŒ Π±Ρ‹ ΡƒΠ΄Π°Π»ΡΡ‚ΡŒ ΠΈΠ»ΠΈ ΠΈΠ·ΠΌΠ΅Π½ΡΡ‚ΡŒ ΠΊΠΎΠ΄ Π² 100 мСстах. Но Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ всС ваши Π½Π°Π²ΠΈΠ³Π°Ρ†ΠΈΠΎΠ½Π½Ρ‹Π΅ ΠΊΠ½ΠΎΠΏΠΊΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ gotoFrame, Ρ‚ΠΎ для измСнСния ΠΈΡ… повСдСния достаточно ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π΅Π΅.

Π£Ρ€ΠΎΠΊ 14. ΠœΠ°ΡΡΠΈΠ²Ρ‹

НикакоС Π²Π²Π΅Π΄Π΅Π½ΠΈΠ΅ Π² язык программирования Π½Π΅ Π±Ρ‹Π»ΠΎ Π±Ρ‹ ΠΏΠΎΠ»Π½Ρ‹ΠΌ Π±Π΅Π· рассмотрСния массивов. Π₯отя мноТСство простых ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΎ Π±Π΅Π· примСнСния массивов, Ρ‡Π΅Π»ΠΎΠ²Π΅ΠΊ, Π½Π΅ ΡƒΠΌΠ΅ΡŽΡ‰ΠΈΠΉ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ с массивами, Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚ ΡΡ‡ΠΈΡ‚Π°Ρ‚ΡŒΡΡ настоящим программистом.

Массив являСтся Ρ€Π°Π·Π½ΠΎΠ²ΠΈΠ΄Π½ΠΎΡΡ‚ΡŒΡŽ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ. ΠŸΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π²Ρ‹ использовали Π΄ΠΎ сих ΠΏΠΎΡ€, ΠΌΠΎΠ³ΡƒΡ‚ ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒ ΠΎΠ΄Π½ΠΎ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅: число ΠΈΠ»ΠΈ строку. Массив ΠΌΠΎΠΆΠ΅Ρ‚ ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒ Π½ΠΈ ΠΎΠ΄Π½ΠΎΠ³ΠΎ, ΠΎΠ΄Π½ΠΎ ΠΈ большС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ. Π’ΠΎΡ‚ ΠΊΠ°ΠΊ выглядит массив:

myArray = ["Apple", Β«OrangeΒ», Β«PeachΒ», Β«PlumΒ»];

Для обращСния ΠΊ элСмСнту массива ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹ΠΉ синтаксис:

myItem = myArray[1];

ΠŸΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Π°Ρ myItem Π±ΡƒΠ΄Π΅Ρ‚ ΠΈΠΌΠ΅Ρ‚ΡŒ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Β«OrangeΒ», Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ отсчСт ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Π² массивах, Ρ‚Π°ΠΊ ΠΆΠ΅ ΠΊΠ°ΠΊ ΠΈ Π² строках, начинаСтся с 0. НСслоТно Π΄ΠΎΠ³Π°Π΄Π°Ρ‚ΡŒΡΡ, Ρ‡Ρ‚ΠΎ массивы ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡŽΡ‚ΡΡ для хранСния мноТСства ΠΎΠ΄Π½ΠΎΡ‚ΠΈΠΏΠ½Ρ‹Ρ… Π΄Π°Π½Π½Ρ‹Ρ…. Для выполнСния ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ Π½Π°Π΄ массивами ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½ΠΎ нСсколько Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ. ΠŸΡ€Π΅ΠΆΠ΄Π΅ всСго, Π΄Π°Π²Π°ΠΉΡ‚Π΅ рассмотрим, ΠΊΠ°ΠΊ ΡΠΎΠ·Π΄Π°ΡŽΡ‚ΡΡ массивы. Π­Ρ‚ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ нСсколькими способами. Π”ΠΎ сих ΠΏΠΎΡ€ ΠΌΡ‹ рассматривали Ρ‚ΠΎΠ»ΡŒΠΊΠΎ способ, ΠΏΡ€ΠΈ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ всС элСмСнты массива Π·Π°Π΄Π°ΡŽΡ‚ΡΡ сразу. Π’Ρ‹ Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ пустой массив ΠΈ Π΄ΠΎΠ±Π°Π²Π»ΡΡ‚ΡŒ Π² Π½Π΅Π³ΠΎ элСмСнты:

myArray = new Array();

myArray.push("Apple");

myArray.push("Orange");

myArray.push("Peach");

myArray.push("Plum");

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

myLength = myArray.length;

Π’Ρ‹ ΡƒΠΆΠ΅ Π·Π½Π°Π΅Ρ‚Π΅, ΠΊΠ°ΠΊ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ доступ ΠΊ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎΠΌΡƒ элСмСнту массива ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ ΠΊΠ²Π°Π΄Ρ€Π°Ρ‚Π½Ρ‹Ρ… скобок. Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ pop, Π²Ρ‹ смоТСтС Π²Π·ΡΡ‚ΡŒ ΠΈΠ· массива Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ послСднСго Ρ€Π°Π·ΠΌΠ΅Ρ‰Π΅Π½Π½ΠΎΠ³ΠΎ Ρ‚Π°ΠΌ элСмСнта. ΠŸΡ€ΠΈ этом ΠΈΠ· массива ΠΎΠ½ удаляСтся. Π’ нашСм ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ ΠΌΡ‹ ΠΏΠ΅Ρ€Π΅Π΄Π°Π΅ΠΌ Π΅Π³ΠΎ Π² ΠΎΠΊΠ½ΠΎ Output. Π‘Π»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ сСгмСнт ΠΊΠΎΠ΄Π° добавляСт Π² массив Ρ‡Π΅Ρ‚Ρ‹Ρ€Π΅ элСмСнта, Π° Π·Π°Ρ‚Π΅ΠΌ, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ Ρ†ΠΈΠΊΠ» while, удаляСт ΠΊΠΎΠ½Π΅Ρ‡Π½Ρ‹Π΅ элСмСнты массива ΠΈ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Ρ‰Π°Π΅Ρ‚ ΠΈΡ… Π² ΠΎΠΊΠ½ΠΎ Output:

myArray = new Array();

myArray.push("Apple");

myArray.push("Orange");

myArray.push("Peach");

myArray.push("Plum");

while (myArray.length>0) {

trace(myArray.pop());

}

ΠŸΠ΅Ρ€Π²ΠΎΠΉ строкой Π² ΠΎΠΊΠ½Π΅ Output являСтся Β«PlumΒ», послСднСй – Β«AppleΒ», Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ ΠΊΠΎΠΌΠ°Π½Π΄Π° pop Π±Π΅Ρ€Π΅Ρ‚ элСмСнты Π² порядкС, ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎΠΌ ΠΏΠΎΠΌΠ΅Ρ‰Π΅Π½ΠΈΡŽ элСмСнтов массива (стСковая схСма: послСдний вошСл, ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ Π²Ρ‹ΡˆΠ΅Π» – First In Last Out). ΠœΠ°ΡΡΠΈΠ²Ρ‹ ΠΌΠΎΠΆΠ½ΠΎ ΡƒΠΏΠΎΡ€ΡΠ΄ΠΎΡ‡ΠΈΡ‚ΡŒ. Π’ случаС, Ссли элСмСнтами массива ΡΠ²Π»ΡΡŽΡ‚ΡΡ числа, Flash упорядочит ΠΈΡ… Π² Ρ†ΠΈΡ„Ρ€ΠΎΠ²ΠΎΠΉ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ. Если это строки, ΠΎΠ½ΠΈ Π±ΡƒΠ΄ΡƒΡ‚ упорядочСны ΠΏΠΎ Π°Π»Ρ„Π°Π²ΠΈΡ‚Ρƒ:

myArray = new Array();

myArray.push("Peach");

myArray.push("Orange");

myArray.push("Apple");

myArray.push("Plum");

myArray.sort();

trace(myArray.toString());

ΠžΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π½Π° послСднюю строку ΠΊΠΎΠ΄Π°, которая содСрТит Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ toString для привСдСния массива ΠΊ Π²ΠΈΠ΄Ρƒ, ΠΏΡ€ΠΈΠ³ΠΎΠ΄Π½ΠΎΠΌΡƒ для отобраТСния Π² ΠΎΠΊΠ½Π΅ Output, Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΡƒΠ΅Ρ‚ всС элСмСнты массива Π² строку. ΠŸΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ Π΄Π°Π½Π½ΠΎΠΉ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡƒΠ±Π΅Π΄ΠΈΡ‚ΡŒΡΡ Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ массив соотвСтствуСт вашим трСбованиям. НаконСц, функция splice позволяСт ΡƒΠ΄Π°Π»ΡΡ‚ΡŒ ΠΎΠ΄ΠΈΠ½ ΠΈΠ»ΠΈ нСсколько элСмСнтов ΠΈΠ· массива:

myArray = [(Β«AppleΒ», Β«OrangeΒ», Β«PeachΒ» Β«PlumΒ»]; myArray.splice(2,1);

Команда splice ΠΌΠΎΠΆΠ΅Ρ‚ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ нСсколько Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ. Π’ Π΄Π°Π½Π½ΠΎΠΌ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ ΠΎΠ½Π° содСрТит Π΄Π²Π° ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π°. ΠŸΠ΅Ρ€Π²Ρ‹ΠΉ Π·Π°Π΄Π°Π΅Ρ‚ ΠΏΠΎΠ·ΠΈΡ†ΠΈΡŽ, с ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ начинаСтся ΡƒΠ΄Π°Π»Π΅Π½ΠΈΠ΅ элСмСнтов (считая ΠΎΡ‚ 0!), Π²Ρ‚ΠΎΡ€ΠΎΠΉ – количСство удаляСмых элСмСнтов. Π’ нашСм случаС Π±ΡƒΠ΄Π΅Ρ‚ ΡƒΠ΄Π°Π»Π΅Π½ элСмСнт Β«PeachΒ», находящийся Π² ΠΏΠΎΠ·ΠΈΡ†ΠΈΠΈ 2. ИзмСнив Π²Ρ‚ΠΎΡ€ΠΎΠΉ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ Π½Π° 2, Π²Ρ‹ ΡƒΠ΄Π°Π»ΠΈΡ‚Π΅ ΠΈ Β«PeachΒ» ΠΈ Β«PlumΒ». Π£Π±Ρ€Π°Π² Π²Ρ‚ΠΎΡ€ΠΎΠΉ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€, Π²Ρ‹ ΡƒΠ΄Π°Π»ΠΈΡ‚Π΅ всС элСмСнты массива. Ѐункция splice ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Ρ‚Π°ΠΊΠΆΠ΅ для добавлСния элСмСнтов. ДобавляСмый элСмСнт задаСтся Ρ‚Ρ€Π΅Ρ‚ΡŒΠΈΠΌ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠΌ:

myArray = [(Β«AppleΒ», Β«OrangeΒ», Β«PeachΒ», Β«PlumΒ»]; myArray.splice(2,1, "Pear");

Π’ Π΄Π°Π½Π½ΠΎΠΌ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ удаляСтся элСмСнт Β«PeachΒ», Π° Π΅Π³ΠΎ мСсто Π·Π°Π½ΠΈΠΌΠ°Π΅Ρ‚ элСмСнт Β«PearΒ». Π§Π΅Ρ‚Π²Π΅Ρ€Ρ‚Ρ‹ΠΉ ΠΈ ΠΏΠΎΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ для добавлСния Π²Ρ‚ΠΎΡ€ΠΎΠ³ΠΎ ΠΈ Π±ΠΎΠ»Π΅Π΅ элСмСнтов. Π’ случаС, Ссли Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π²Ρ‚ΠΎΡ€ΠΎΠ³ΠΎ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π° окаТСтся Ρ€Π°Π²Π½ΠΎ 0, Π½ΠΈΠΊΠ°ΠΊΠΈΠ΅ элСмСнты ΡƒΠ΄Π°Π»Π΅Π½Ρ‹ Π½Π΅ Π±ΡƒΠ΄ΡƒΡ‚. Π’Π΅ΠΏΠ΅Ρ€ΡŒ, ΠΊΠΎΠ³Π΄Π° Ρƒ вас Π΅ΡΡ‚ΡŒ прСдставлСниС ΠΎΠ± основах ActionScript, самоС врСмя ΠΏΡ€ΠΈΠΌΠ΅Π½ΠΈΡ‚ΡŒ эти знания для создания Π²ΠΏΠΎΠ»Π½Π΅ ΠΏΡ€ΠΎΡ„Π΅ΡΡΠΈΠΎΠ½Π°Π»ΡŒΠ½Ρ‹Ρ… Ρ„Ρ€Π°Π³ΠΌΠ΅Π½Ρ‚ΠΎΠ² Flash-Ρ€ΠΎΠ»ΠΈΠΊΠΎΠ². Π’ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΉ Π³Π»Π°Π²Π΅ ΠΌΡ‹ создадим нСсколько ΠΏΠΎΠ΄ΠΎΠ±Π½Ρ‹Ρ… Ρ„Ρ€Π°Π³ΠΌΠ΅Π½Ρ‚ΠΎΠ², ΠΈ Π·Π°Ρ‚Π΅ΠΌ, начиная с Π³Π»Π°Π²Ρ‹ 5 "Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ Π²ΠΈΠ·ΡƒΠ°Π»ΡŒΠ½Ρ‹Ρ… эффСктов", приступим ΠΊ написанию Ρ†Π΅Π»Ρ‹Ρ… ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ.

Π“Π»Π°Π²Π° 3 Π­Π»Π΅ΠΌΠ΅Π½Ρ‚Ρ‹ ActionScript для создания ΠΈΠ³Ρ€

β€’ Π£Ρ€ΠΎΠΊ 15. ΠšΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒ воспроизвСдСния ΠΊΠ»ΠΈΠΏΠ°

β€’ Π£Ρ€ΠΎΠΊ 16. Π£ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ свойствами ΠΊΠ»ΠΈΠΏΠ°

β€’ Π£Ρ€ΠΎΠΊ 17. ΠŸΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ ΠΌΠ΅Ρ‚ΠΎΠ΄Π° "ΠŸΠ΅Ρ€Π΅Ρ‚Π°Ρ‰ΠΈ ΠΈ ΠΏΠΎΠ»ΠΎΠΆΠΈ" ΠΊ ΠΊΠ»ΠΈΠΏΠ°ΠΌ

β€’ Π£Ρ€ΠΎΠΊ 18. ΠšΠ»ΠΈΠΏΡ‹ ΠΈ ΡƒΡ€ΠΎΠ²Π½ΠΈ

β€’ Π£Ρ€ΠΎΠΊ 19. ΠšΠΎΠΏΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΊΠ»ΠΈΠΏΠΎΠ²

β€’ Π£Ρ€ΠΎΠΊ 20. Π£ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ нСсколькими ΠΊΠ»ΠΈΠΏΠ°ΠΌΠΈ

β€’ Π£Ρ€ΠΎΠΊ 21. ΠŸΠ΅Ρ€Π΅ΡΠ΅Ρ‡Π΅Π½ΠΈΠ΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ²