выпуск 16
интерактивность и ActionScript часть-4
Вся полнота возможностей Flash открывается при
использовании ActionScript. В предыдущих выпусках мы узнали, какие действия
можно применять в проектах и даже попробовали некоторые из них на практике.
Не сомневаюсь, что большинство из Вас не стали останавливаться на приведенных
примерах, об этом свидетельствуют и присылаемые работы.
Сегодня я расскажу об основах применения
ActionScript, его операторах, функциях и параметрах (свойствах), с их кратким
объяснением. В следующих выпусках мы будем изучать ActionScript на конкретных
примерах.
А, пока немного отвлечемся и вспомним материал
предыдущего выпуска: нам это очень пригодится сегодня. Как, Вы знаете, при
работе с кадрами, мы можем задавать определенные имена-метки, используя их
в дальнейшем для переходов к различным эпизодам: метки кадров могут служить
не только для перехода, но и содержать подпрограммы на ActionScript выполнение
которых, возможно без перехода на данный кадр (в будущих выпусках). Метки могут
(и должны) быть заданы для экземпляров символов из библиотеки и для текстовых
редактируемых полей.
Посмотрим, как это сделать.
Имена редактируемых полей:
- щелкните правой кнопкой мыши на поле
- выберите Properties
- откроется окно Text Field Properties: со значениями его пунктов мы
знакомились в одном из выпусков
- в поле Variable введем имя поля
- осталось нажать ОК
Для чего же это нужно? Теперь, когда у поля есть имя,
мы сможем управлять его содержанием, выводить необходимый текст или
вычисляемые значения.
Применим полученные знания на практике. Создадим
поле, в котором текст будет меняться в зависимости от нажатой кнопки:
Для работы необходимо создать текстовое
редактируемое поле с именем (например pole) на сцене и символ кнопки в
библиотеке.
- перенесем кнопку на сцену и напишем на ней "Имя"
- дважды щелкните левой кнопкой мыши на этой кнопке
- в появившемся окне выбираем закладку Action
- указываем действие Set Variable - значение переменной
- в поле Variable вписываем имя поля (в нашем случае pole)
- в поле Value укажите свое имя (надеюсь, при создании текстового поля
Вы выбрали русский шрифт?)
- в итоге скрипт должен быть похож на:
On (Release)
Set Variable: "pole" = "Павел"
End On
- нажмите ОК
Осталось только посмотреть, что получилось. Запустите
тестовый просмотр Control / Test Movie, при нажатии на кнопку в поле появится
Ваше имя. Если теперь сделаете несколько кнопок с разными значениями,
содержание поля будет менятся в зависимости от нажатой кнопки. Обратите
внимание на то, что символ кнопки мы берем из библиотеки, а конкретные
действия задаем для его экземпляров на сцене.
Для дальнейшего изучения ActionScript следует
твердо усвоить, что переменные могут быть нескольких типов:
Числовые переменные - содержат числовые значения, например:
Set Variable: "year" = 2000 или
Set Variable: "temp" = 36.6
Символьные переменные - как, Вы догадываетесь, содержат символы, текст и
заключены в кавычки
Set Variable: "name" = "Павел"
Set Variable: "dr" = "The best teacher" :-)
Логические переменные - могут быть только двух типов True (1) - ИСТИНА или
False (0) - ЛОЖЬ
Set Variable: "cool" = True
и
Set Variable: "cool" = 1
означают одно и тоже
Переключение типа переменной производится кнопкой
расположенной справа от поля Value: если на кнопке написано
abc (String Literal), то это будет символьная переменная, а если знак
= (Expression), то числовое, но если при выборе типа переменной нажать на
символ с изображение квадрата с = (Expression Editor), то мы попадем в святая
святых ActionScript в редактор выражений.
Давайте узнаем назначение предлагаемых элементов
выражений (нет, мы не станем учить использование особенностей русских
идиоматических выражений периода матриархата, хотя иногда, при работе с
ActionScript так и тянет ими воспользоваться :-).
Вот их перечень:
Операторы
Основные
() - Группировка
Числовые
= - Равно
<> - Не равно
< - Меньше
> - Больше
>= - Меньше или равно
<= - Больше или равно
Символьные
"" - Строка символов
& -Объединение
eg - Равно
ne - Не равно
lt - Меньше
gt - Больше
le - Меньше или равно
ge - Больше или равно
Логические
and - Логическое И
or - Логическое ИЛИ
not - Логическое НЕ
Функции
Основные
Eval - значение переменной, заданной выражением
True - логическое ИСТИНА (1)
False - логическое ЛОЖЬ (0)
Newline - перевод строки в выражении
GetTimer - определяет время, в миллисекундах, прошедшее с начало
запуска фильма.
Числовые
Int - выделение целого числа
Random - случайное число до от 0 до заданного числа.
Символьные
Substring - "вырезание" фрагмента из символьной строки
Length - определяет количество символов в строке
Chr - преобразование числа в символ в соответствии с кодом ANSII
Ord - обратное преобразование: символа в код ANSII
Параметры
GetProperty - получение значений объекта (клипа)
_x - положение объекта по горизонтали
_y - положение объекта по вертикали
_width - ширина объекта
_height - высота объекта
_rotation - вращение объекта
_target - путь к объекту
_name - в отличие от _target возвращает только имя объекта
_url - определяет полный URL файла swf
_xscale - изменение масштаба объекта в процентах, по горизонтали
_yscale - изменение масштаба объекта в процентах, по вертикали
_currentframe - текущий номер кадра
_totalframes - количество кадров в фильме (клипе)
_framesloaded - количество уже загруженных кадров
_alpha - прозрачность объекта
_visible - отображение объекта
_droptarget - путь к объекту, над которым перетаскивают в данный момент (клип)
Глобальные
_highquality - качество воспроизведение фильма
_focesrect - режим фокусной рамки
_sounbuftime - значение настройки буфера текста в секундах
Вы, конечно, обратили внимание, что есть две
похожих группы операторов с одинаковым назначением, но одна из них
предназначена для числовых переменных, а другая для символьных. При написании
собственного ActionScript необходимо научиться различать, в каких случаях
нужно применять каждую из них.
Приведу пример.
Х=5+6
На ActionScript это можно записать так
Set Variable: "x" = 5 + 6
Тут нет ничего сложного, так ведь?
Set Variable: "y" = 5
Set Variable: "z" = 6
Set Variable: "x" = y + z
Результат будет тот же, а вот если нам необходимо
"сложить" из двух слов-предложений одно то запись
Set Variable: "b" = "Action"
Set Variable: "c" = "Script"
Set Variable: "a" = c + b
будет ошибочной, вернее, только последняя строчка.
Так, как мы в данном случае, имеем дело с символьными переменными, то вместо
знака сложения (+), мы должны использовать знак объединения (&) или, если
говорить правильно - конкатенации.
Set Variable: "a" = c & b
В результате а будет равен ActionScript
В следующем примере, показано объединение символьной
и числовой переменной
Set Variable: "month" = "September"
Set Variable: "last" = 1999
Set Variable: "year" = last + 1
Set Variable: "now" = month & " " & year
После столь долгой теории, пора применить полученные
знания на практике.
Домашнее задание:
Реализуем эмулятор пейджинговой станции.
Необходимо создать терминал, в который вводится
информация, после нажатия на одну из кнопок с номерами пейджеров сообщение
должно появиться на этом пейждере.
Уточнение задания:
Весь фильм состоит из одного кадра, на котором расположен и терминал и пейджеры.
Работы принимаются до 16 сентября 2000 года
В следующем выпуске мы усовершенствуем этот проект, научимся отправлять
послания на указанный номер и прокручивать полученные сообщения на индикаторе
пейджера.
Павел Г.Лапин
E-mail: murmik@mail.ru
Россия Мурманск
|