Вы находитесь на странице: 1из 20

Лабораторная работа №11.

Технология работы с текстовыми полями во


Flash.
Существует несколько базовых понятий, которые необходимо знать для
успешного использования текстовых полей в ваших проектах. Flash
поддерживает три вида текста: статический (static text), динамический
(dynamic text) и вводимый (input text).
Из трех типов форматов текста статический текст (Static Text)
используется чаще всего. Динамический текст (Dynamic Text) может быть
изменен Flash во время paбoты SWF-файла, например, вывод набранных
баллов и исходя из этого оценки за работу. Ключевая разница между
режимами Dynamic Text и Input Text состоит в том, что в текстовое поле
пользователь может сам вводить текст [2].
1. Открываем новый документ Flash 2.0.
2. Устанавливаем розовый цвет фона (правой кнопкой мыши по сцене
-Свойство документа):

3. В 1-м кадре слоя 1 введем название нашей игры и создадим кнопку


Начать игру>> для перехода к следующему кадру.
Для этого рисуем прямоугольник, на него размещаем статический текст
Начать игру>>, выделяем все инструментом выделение (V) и
преобразовываем в символ – тип Кнопка. Двойным щелчком по кнопке
заходим внутрь символа и во втором кадре Прохождение вставляем
ключевой кадр, скопировав содержимое первого кадра:

Затем выделяем фон кнопки и заливаем его другим цветом:

Выходим из режима редактирования символа, нажав синюю стрелку:

Таким образом, при наведении курсора на кнопку у нас будет меняться


цвет кнопки с сиреневого на красный.

4. Прописываем кнопке Начать игру >> действие-переход на следующий


2-й кадр:
on (release) {
gotoAndPlay(2);
}
5. 1-му кадру прописываем действие:
stop();
fscommand("showmenu", "false");
fscommand("fullscreen","true");

i = 0;
Пояснение: 1-я команда - остановка кадра; 2-я команда - отключение
«Меню» при проигрывании ролика. Это не позволит пользователю
сделать «шаг назад»; 3-я команда - разворачивание Flash фильма на
весь экран; 4-я команда - «включение» счётчика i для подсчета
набранных баллов.
6. Выбираем на панели инструментов инструмент Текст (Т) и во 2-м
кадре слоя 1 вводим вопрос, на который необходимо будет ответить (в
нашем случае – это будет загадка):

«Отгадай загадку
Оглянись, дружок, вокруг!
Вот - верный друг.
Он всегда тебе поможет:
Сложит, вычтет и умножит.»

Обратите внимание, что тип текста – статический.


7. Выбираем на панели инструментов инструмент Текст (Т). Располагаем
поле для ввода текста на рабочей области там, где должен быть
напечатан ответ и в свойствах выбираем тип текста – Вводимый текст
(Input Text).

8. Устанавливаем размер шрифта, а также цвет текста, например –


сиреневый. (Замечание: Для проверки ввода стоит напечатать текст в
поле, а потом его убрать.)
9. Теперь для созданного текстового поля необходимо назначить
переменную с именем z1:

10.Нажимаем , чтобы показать границу вокруг вводимого текста.

Поле для ввода ответа на загадку стало белым.


11.Выбираем на панели инструментов инструмент Текст (Т). И ниже под
загадкой располагаем поле с типом «динамический текст» (Dynamic
Text):

В данное поле при ошибке ввода ответа на загадку будет выводиться


сообщение «Неверно!»
12.Теперь для созданного текстового поля необходимо назначить
переменную (var) с именем n1:

13.Ниже создаем кнопку с надписью Далее>> (пункт 3) и для перехода к


следующей загадке (3-й кадр) прописываем ей следующее действие:

on (release) {
if (z1=='компьютер' or z1=='Компьютер' or z1=='КОМПЬЮТЕР') {
i = i+1;
gotoAndPlay(3);
} else {
i = i-1;
n1 = "Неверно!";
}
}
}
14. Щелкаем по 2-му кадру и прописываем ему действие stop ();

15. Копируем 2-й кадр и вносим необходимые изменения в 3-м кадре:


имена переменных поля для ввода z2 и z3,
«Наверху машины всей
Размещается -
Словно смелый капитан!
А на нем горит .»

поле с динамическим текстом – соответственно n2, а для кнопки


действие будет следующим:

on (release) {
if ((z2=='дисплей'or z2=='Дисплей'or
z2=='ДИСПЛЕЙ')and(z3=='экран'or z3=='Экран'or z3=='ЭКРАН')) {
i = i+1;
gotoAndPlay(4);
} else {
i = i-1;
n2 = "Неверно!";
}
}

16.Прописываем 3-му кадру действие stop();

17.Создаем столько кадров, сколько у нас будет загадок.


18.Аналогично копируем 3 кадр в 4 и меняем переменные и вносим
необходимые изменения в 4-м кадре:
имя переменной поле для ввода z4,
«Ну, а рядом главный блок:
Там бежит электроток
К самым важным микросхемам.
Этот блок зовут !»

поле с динамическим текстом – соответственно n3, а для кнопки


действие будет следующим:
on (release) {
if (z4=='системным' or z4=='Системным' or z4=='СИСТЕМНЫМ')
{
i = i+1;
gotoAndPlay(5);
} else {
i = i-1;
n3 = "Неверно!";
}
}
19. Прописываем 4-му кадру действие stop();

20. Копируем 4 кадр в 5 и меняем переменные и вносим необходимые


изменения в 5-м кадре:
имя переменной поле для ввода z5,
«В упаковке, как конфета,
Быстро вертится -
Там записаны программы
И Для папы, и для мамы!»

поле с динамическим текстом – соответственно n4, а для кнопки


действие будет следующим:
on (release) {
if (z5=='дискета' or z5=='Дискета' or z5=='ДИСКЕТА') {
i = i+1;
gotoAndPlay(6);
} else {
i = i-1;
n4 = "Неверно!";
}
}
21. Прописываем 5-му кадру действие stop();

22.Копируем 5 кадр в 6 и меняем переменные и вносим необходимые


изменения в 6-м кадре:
имя переменной поле для ввода z6,

«Это вот !
Вот где пальцам физкультура
И гимнастика нужны!
Пальцы прыгать там должны.»
on (release) {
if (z6=='клавиатура' or z6=='Клавиатура' or z6=='КЛАВИАТУРА')
{
i = i+1;
gotoAndPlay(7);
} else {
i = i-1;
n5 = "Неверно!";
}
}

23. Прописываем 6-му кадру действие stop();


24.Копируем 6 кадр в 7 и меняем переменные и вносим необходимые
изменения в 7-м кадре:
имя переменной поле для ввода z7,

А вот это , братцы,


Тут нам надо разобраться,
Для чего же этот ящик?
Он в себя бумагу втащит,
И сейчас же буквы, точки,
Запятые – строчка к строчке –
Напечатает в момент!
Очень нужный инструмент.
поле с динамическим текстом – соответственно n6, а для кнопки
действие будет следующим:
on (release) {
if (z7=='принтер' or z7=='Принтер' or z7=='ПРИНТЕР') {
i = i+1;
gotoAndPlay(8);
} else {
i = i-1;
n6 = "Неверно!";
}
}

25. Прописываем 7-му кадру действие stop();


26.Так в примере в 8-м кадре, чтобы не вводить отгадку три раза
используется одно поле для ввода текста и 2 поля с динамическим
текстом:
«Отгадай загадку
В зоопарке есть зайчишка,
У компьютера есть
Эта не простая,
Эта вот какая:
Скромный серый коробок, Длинный тонкий проводок,
Ну а на коробке – Две или три кнопки.»
Поле для ввода текста –
переменная z8

Поле с динамическим
текстом – переменная z8

Поле с динамическим
текстом – переменная n7

поле с динамическим текстом – соответственно n7, а для кнопки


действие будет следующим:
on (release) {
if (z8=='мышка' or z8=='Мышка' or z8=='МЫШКА') {
i = i+1;
gotoAndPlay(9);
} else {
i = i-1;
n7 = "Неверно!";
}
}

Так же прописываем кадру stop();

27. Копируем 8 кадр в 9 и меняем переменные и вносим необходимые


изменения в 9-м кадре:
имя переменной поле для ввода z9,
Вот теперь, дружок, немного
Ты с компьютером знаком.
Если дальняя дорога
Приведет его в твой дом,
То скажи ты всем вокруг:
“Вот компьютер – лучший !”

поле с динамическим текстом – соответственно n8, а для кнопки


действие будет следующим:
on (release) {
if (z9=='друг' or z9=='Друг' or z9=='ДРУГ') {
i = i+1;
gotoAndPlay(10);
} else {
i = i-1;
n8 = "Неверно!";
}
}

И прописываем кадру stop();


28. Последний кадр будет выглядеть следующим образом:

Кнопка Выход

Поле с динамическим
текстом – переменная i

Поле с динамическим
текстом – переменная rez

Действие для кнопки Выход:


on (release) {
fscommand("quit");
}
Действие для последнего кадра:
stop();
if (i==8){
// если набранных баллов 8,
rez = "Молодец!";
} else if (i>=6){
// если набранных баллов от 6 до 7,
rez = "Умница!";
} else if (i==5){
// если набранных баллов 5,
rez = "Хорошо";
} else if (i>=3){
// если набранных баллов от 3 до 4,
rez = "Удовлетворительно";
} else { // в остальных случаях
rez = "Плохо...";
}
29.Нажимаем Ctrl+Enter - тестируем проект! (Замечание: протестировать
работоспособность кнопки Выход можно будет, только запустив файл
в формате swf). Наша игра готова!
30.Публикуем в формате swf.