Як зробити привітання в Flash

Дема Сруссос post on 19 Липня, 2013
Posted in ІНТЕРНЕТ Tags: ,

Спочатку технологія Flash була розроблена для створення комп’ютерної анімації на основі векторних зображень. Пізніше в рамках технології була розроблена спеціальна мова сценаріїв – ActionScript – що дозволив перетворити flash-ролики в повноцінні програми з інтерактивними інтерфейсами, що використовують стандарти PHP і XML.

Для перегляду flash-роликів, які мають розширення. Swf, необхідний flash-player, який може працювати як самостійно, так і встановлюватися в якості плагіна для різних інтернет-браузерів (в цьому випадку flash-ролик відкривається прямо у вікні браузера, що дозволяє використовувати технологію при створенні веб-ресурсів).

Розглянемо створення невеликого flash-додатки, для чого використовуємо програму-редактор Macromedia Flash Professional v. 8 (передбачається, що ми знайомі з інтерфейсом і основними навичками роботи з даним продуктом).

Створимо Новий документ Flash і збережемо його, як welcome.fla. Fla-файли – це, так звані файли-вихідні коди, flash-проекти. Комбінацією клавіш CTRL + ALT + T відкриємо Тимчасову Шкалу, в якій вже наявний шар перейменуємо в date (у ньому ми розмістимо текстові поля нашого вітання) і створимо новий шар – code (в кадрах цього шару розмістимо action-скрипти).

Як зробити привітання в Flash

Вибравши на Панелі інструментів (або клавішею T) інструмент Текст, в шарі date створимо текстове поле. У Панелі Властивостей, яка відкривається по клавішах CTRL + F3, задамо властивості текстового поля: Тип тексту – Динамічний; Ім’я – day_ned; Шрифт – Tahoma; Розмір шрифту – 12. А в самому полі введемо слово – “Понеділок”. Навівши курсор миші на лівий нижній кут поля, вирівняємо його розміри по тексту.

Як зробити привітання в Flash

Поруч створимо ще три текстових поля з іменами day_mes, mes і god і з вмістом – “99”, “Вересень” і “9999” відповідно. Вид і розмір шрифту для всіх текстових полів зробимо однаковим – Tahoma, 12. І для цих полів розміри відрегулюємо мишею.
В принципі, на даному етапі в текстові блоки можна вводити все, що завгодно, лише б кількість введених символів збігалося з максимальною кількістю символів, яке буде відображатися в цьому блоці в робочому стані. Наприклад, найдовший визначник дня тижня буде – “Понеділок”, значить, у полі day_ned можна ввести 11 довільних символів (хоча б і “00000000000”).

Тепер створимо ще одне текстове поле з вмістом “Доброго дня! Сьогодні -“. У властивостях цього блоку можна задати Статичний текст і Поле імені залишити порожнім (цей блок не буде використовуватися в коді).
За допомогою миші розмістимо текстові блоки на робочому просторі що подобається нам чином (в один горизонтальний ряд або один під одним – неважливо).

Тепер звернемося до Тимчасової Шкалою, виділимо перший кадр шару date і натиснемо клавішу F5 (ми вставили порожній кадр). Виділивши перший кадр шару code, натиснемо клавішу F8 (ми вставили порожній ключовий кадр).

Тепер, при виділеному другому кадрі шару code, натиснемо клавішу F9 (відкриється панель роботи з кодом ActionScript). У полі введення введемо код

gotoAndPlay (1);

Після введення коду на другому кадрі шару code у Тимчасовій Шкалою з’явилася маленька буква a, це означає, що в цьому кадрі запускається певний нами код.
Виділивши перший кадр шару code, перейдемо в панель роботи з кодом (клавіша F9, якщо панельку встигли вже закрити).

Підготовча частина роботи виконана. Вся інша робота полягає в розробці коду.

По-перше, створюємо новий об’єкт Date (він зчитує дані про час з системного таймера того комп’ютера, на якому запускається flash-ролик) і присвоюємо йому ім’я day:

day = new Date ();

Потім за допомогою методу getDay отримуємо відомості про поточний день тижня і поміщаємо їх в змінну dn:

dn = day.getDay ();

і “прив’язуємо” її до текстового блоку day_ned:

day_ned.text = dn;

Використовуючи метод getDate, отримуємо дані про день місяця, створюємо змінну, що містить ці дані і “прив’язуємо” її до текстового блоку day_mes:

dt = day.getDate ();
day_mes.text = dt;

Для отримання даних про місяць і рік використовуємо методи getMonth і getFullYear. Для цих даних також визначаємо свої змінні, які “прив’язуємо” до відповідних текстовим блокам:

m = day.getMonth ();
mes.text = m;
g = day.getFullYear ();
god.text = g+ “року”;

В принципі, кістяк коду готовий і можна подивитися, що ж у нас вийшло. Натиснемо клавіші CTRL + Enter, програма скомпілює ролик і покаже його нам у форматі. Swf.
Якщо все було зроблено правильно, побачимо ми щось на зразок цього: “Доброго дня! Сьогодні – 1 16 2 2009 року”.

Прийшов час трохи відволіктися у бік теорії програмування. Як і будь-який інший мова програмування, ActionScript при роботі з масивами даних першому елементу привласнює значення 0. Дні тижня і місяці року мовою сприймаються, як якийсь масив, отже, і значення днів і місяців ми отримуємо в числовому вигляді. Т. е. перед нами стоїть завдання перевести програмні значення на людську мову. При цьому ще необхідно врахувати, що першим днем тижня мова визначає неділю (привласнюючи йому значення 0).

Для розшифровки запису “1 16 2 2009 року” використовуємо умовний оператор switch.

Почнемо з дня тижня.
Визначимо групу змінних, в які помістимо легким для читання назви днів тижня:

dn1 = “Неділя”;
dn2 = “Понеділок”;
dn3 = “вівторок”;
dn4 = “Среда”;
dn5 = “Четвер”;
dn6 = “П’ятниця”;
dn7 = “субота”;

і умовним оператором створимо зв’язок між одержуваним числовим значенням, текстовим блоком day_ned і словесним визначенням дня:

switch (dn) {
case (0): day_ned.text = dn1;
break;
case (1): day_ned.text = dn2;
break;
case (2): day_ned.text = dn3;
break;
case (3): day_ned.text = dn4;
break;
case (4): day_ned.text = dn5;
break;
case (5): day_ned.text = dn6;
break;
case (6): day_ned.text = dn7;
break;
}

Натиснемо CTRL + Enter, подивимося, що вийшло: “Доброго дня! Сьогодні – понеділок 16 лютого 2009”.

Тепер точно таким же способом опрацюємо числові значення місяців року. Спочатку оголосимо змінні, в які помістимо назви місяців (у родовому відмінку):

m1 = “Январь”;
m2 = “лютий”;
m3 = “Марта”;
m4 = “Апреля”;
m5 = “Травня”;
m6 = “червня”;
m7 = “Июля”;
m8 = “Августа”;
m9 = “Вересня”;
m10 = “Жовтня”;
m11 = “Листопада”;
m12 = “Грудень”;

І за допомогою оператора switch зв’яжемо числові значення місяців, текстовий блок mes і назви місяців:

switch (m) {
case (0): mes.text = m1;
break;
case (1): mes.text = m2;
break;
case (2): mes.text = m3;
break;
case (3): mes.text = m4;
break;
case (4): mes.text = m5;
break;
case (5): mes.text = m6;
break;
case (6): mes.text = m7;
break;
case (7): mes.text = m8;
break;
case (8): mes.text = m9;
break;
case (9): mes.text = m10;
break;
case (10): mes.text = m11;
break;
case (11): mes.text = m12;
break;
}

Використовуючи комбінацію CTRL + Enter, перевіримо, що у нас вийшло:

Як зробити привітання в Flash

Ось, власне, і весь скрипт для привітання.
Збережемо проект (клавіші CTRL + S) і опублікуємо його, тобто скомпілюємо і створимо файл з розширення. Swf (клавіші SHIFT + F12).

Flash-привітання готово.

Comments are closed.