Учебный курс Flash

Учебный курс
Примеры выполненных заданий
Подписка на рассылку
Форум
Чат
Скачать
Ресурсы, ссылки
Flash на практике
Translate into
RB2 Network

RB2 Network






выпуск 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
Россия Мурманск



Всплыть