Очень простенький ролик, в котором работает
текстовой блок Dynamic Text и кнопка, обеспечивающая
генерирование случайного числа в интервале от 0 до
100 и вывод этого числа в текстовой блок.
В ролике работает всего один кадр. Текстовому блоку
дано имя fortuitous. А кнопке прописан
скрипт:
on (release) { fortuitous = random (101); }
Создавая проект с ActionScript, часто
требуется получить случайное числовое значение. Это
позволяет внести элемент неожиданности в развитие происходящего
на экране действия, без этого практически невозможно
создать интересную игру. Однако, реализуется данное
решение, элементарно просто. Достаточно, включить в
скрипт функцию "Random"
Random (number)
Определяет (если следовать терминологии программистов
- возвращает) число от 0 до указанного числа - number,
например:
on (release) {
pole = random(20);
}
Присвоит текстовому полю под именем pole случайное
число от 0 до 19. Если нам необходимо, сгенерировать
число в диапазоне от 300 до 400 то это указывается
следующим образом:
on (release) {
pole = random(101)+300;
}
Применив данную функцию, Вы сможете без проблем создать
игру "Угадайка".
Все, что для этого необходимо: два слоя (один для
игрового поля, а другой для скриптов), два редактируемых
текстовых поля, пара кнопок и максимум 4 кадра:
В первом кадре компьютер "загадает" число, во втором
будет ожидать ввода варианта, в третьем проверит Вашу
интуицию (если не угадаете, вернется во второй кадр),
а в четвертом поздравит с победой.
Оформление кадров
Первый кадр:
На первом слое нарисуйте игровое поле: Текстовое поле Inputtext без
рамки под названием text.
Затем Текстовое поле для ввода числа пользователем
под названием number.
Кнопку, для подачи сигнала о том, что число введено
и можно проверять.
На кнопку напишем скрипт:
on (release, keyPress "<Enter>") {
play();
}
Второй кадр и Третий кадр аналогичные (Для этого на
слое с игровым полем в кадре №3 щелкните правой кнопкой
мыши и выберите в контекстном меню Insert Frame (Вставить
кадр).
Четвертый кадр:
Нарисуйте на нем, что-нибудь приятное, чтобы сообщить
о том, что человек угадал.
И кнопку с надписью повторить.
На нее напишите скрипт:
on (release, keyPress "<Space>")
{
play();
}
Затем создайте новый слой
и назовите Script.
В нем мы будем задавать наши скрипты для кадров.
Программирование
Первый кадр
В новом слое (Script)
выделите правой кнопкой мыши первый кадр Actions / Действия.
Напишите следующий скрипт.
mynumber = random(20)+1; //(переменной присваивается
любое число от 1 до 20)
text = "Введите число от 1 до 20" // (в поле text появится
данная надпись);
На втором кадре.
Поставьте на этот Кадр метку wait
Не путайте слои (Мы работаем со слоем Script)
number = ""; (очищаем поле для ввода числа)
stop ();
На третьем кадре
if (number=="") { //поверяем введено ли число, если
нет то переходим на первый фрейм и ждем ввода числа
gotoAndStop ("wait");
} else if (mynumber<number) {
text = "Мое число меньше!";
gotoAndStop ("wait"); // (Переход на второй кадр с
меткой wait)
} else if (mynumber>number) {
text = "Мое число больше!";
gotoAndStop ("wait");
} else {
play (); // Иначе проигрываем ролик дальше.
} На четвертом кадре
stop ();
Задание данных в текстовом
файле
На самом деле особых премудростей здесь нет. Достаточно
указать имя переменной и ее значение, если переменных
несколько, они разделяются знаком & (амперсанд).
Например: part=Учебный курс Flash&autor=Голикова Марина
вообще, согласно требованиям URLformencoded пробелы
необходимо заменять на + или код %20, но как показывает
практика работы с Flash, даже обычный текст обрабатывается
вполне корректно (в том числе и переводы строк). Также
обрабатываются коды ANSII если задавать их после %
в шеснадцатиричном виде.
В том файле, который нам необходим для работы, укажем
любой текст в качестве значения переменной tablo и
сохраним под именем text1.txt. Теперь создайте
проект с текстовым полем и кнопками.
Содержание текстового файла
tablo=Привет!!!
Предположим, что текстовому полю, которое вы расположили
на сцене типа Dynamic присвоено имя - "tablo",
и при нажатии на первую кнопку (расположенную под текстовым
полем) в него будет загружена информация из файла text1.txt,
тогда скрипт для первой кнопки будет: on (release) {
loadVariablesNum ("text.txt", 0);
}
Так как имя текстового поля и переменной в файле
совпадают, то как только данные будут загружены они автоматически присвоятся
данному текстовому полю.
скрипт для второй кнопки будет:
on (release) {
tablo = "";
}
Мы присваиваем текстовому полю пустое значение, тем
самым его очищаем.
Обращайте внимание на цвет текста в текстовом поле
и тип шрифта (Лучше всего использовать Times New Roman
Cyr)
Для практического применения загрузки текстовых данных
можно найти самое широкое и не только загрузка информации,
но и создание различных сервисных приложений. Новостной
ленты, гостевой книги...