- •Основы языка ActionScript 2.0 Для чего нужен Actionscript?
- •События
- •Действия
- •Операторы
- •Ключевые слова
- •Фигурные скобки
- •Точка с запятой
- •Отступы и пробелы
- •Переменные Объявление
- •Кавычки
- •Комментарии
- •Видимость переменных
- •Присваивание
- •Объекты
- •Условные операторы
- •Цикл с переменной
- •Циклы с условием
- •Перечисление свойств
- •Управление циклом
- •Лабораторная работа №1 «Знакомство с ActionScript» Панель Actions
- •Инструменты работы с кодом
- •Управление проигрыванием. Кнопки Команды управления
- •Скопируйте файл ship.Fla из папки лр1 в свою папку и в дальнейшем работайте только с ним!
- •Реакции на события
- •Метки кадров
- •Адреса: дети, родители и корень
- •Абсолютные адреса
- •Относительные адреса
- •Индивидуальное задание
- •Лабораторная работа №2 «Свойства и события клипа»
- •Свойства
- •Типы объектов
- •Обработчики событий
- •Применение события клипа
- •Присутствие: onClipEvent (load)
- •Отсутствие: onClipEvent (unLoad)
- •Движущая сила: onClipEvent (enterFrame)
- •Перемещение: onClipEvent (mouseMove)
- •Применение методов как обработчиков событий
- •Свойства объектов
- •События клипа
- •События мыши
- •Перетаскивание
- •События клипа
- •Отличие кнопки от клипа
- •Обработка событий мыши и клавиатуры
- •Функции
- •Типы функций
- •Защита паролем
- •Индивидуальное задание
- •Лабораторная работа №3 «Использование объектов среды Flash» Глобальный объект Key
- •Самостоятельное задание
- •Работа с текстом (String, Selection) Объект String — строка
- •Объект Selection
- •Использование объекта Color
- •Массивы Основные понятия
- •Копирование
- •Многомерные массивы
- •Методы для работы с массивами
- •Работа с массивами
- •Дата и время Объект Date
- •Периодический вызов функции
- •Индивидуальное задание
- •Лабораторная работа № 4 «Организация одномерного движения объектов» Математические функции
- •Одномерное движение
- •Движение на плоскости Равномерное движение
- •Неравномерное движение
- •Организация отскока объектов Одномерное движение
- •Индивидуальное задание
- •Лабораторная работа № 5«Организация движения объектов по наклонной плоскости»
- •Векторы
- •Отскок от наклонной плоскости
- •Шарик в кольце
- •Маятник
- •Загрузка символа из библиотеки
- •Определение границ клипа
- •Точка и клип Вторая форма hitTest
- •Трассировка растровых рисунков
- •Точки вдоль границы
- •Сложная фигура и клип Два подхода
- •Цикл по всем дочерних объектов
- •Локальные и глобальные координаты
- •Обработка события для звука
- •Загрузка фильмов
- •Использование Переменных
- •Локальные переменные
- •Типы функций
- •Обработчики событий
- •Описание проекта
- •Загрузка Flash-фильмов
- •Работа с рисунками
- •Увеличение рисунка
- •Маски клипов
- •Звуковые файлы
- •Баннеры
- •Компоненты Обзор
- •Текстовые поля
- •Форматирование
- •Работа с базой пользователей
- •Текст-ссылка
- •Регистрация
- •Радиокнопки
- •Выпадающий список
- •Выключатели
- •Формат компонентов
- •Добавление пользователя
- •Индивидуальное задание
- •Лабораторная работа № 9 «Рисование из программы»
- •Отрезки
- •Заливки Одноцветная заливка
- •Добавление методов к MovieClip
- •Градиентная заливка
- •Квадраты
- •Двойной щелчок
- •Текстовое поле
Видимость переменных
Различают три вида переменных:
переменные временной шкалы (или переменные клипа) — объявляются в коде, связанном в каким-то кадром;
локальные переменные — объявляются внутри функций для временного хранения данных;
глобальные переменные — известны всем функциям.
Глобальные переменные объявляются с помощью описателя _global:
_global.x = 12;
Обратите внимание, что слово var здесь использовать не нужно, такие переменные рассматриваются как свойства объекта _global. К переменной x, которая объявлена выше, можно обращаться из любой функции и из кода любого клипа просто по имени.
Если в области видимости есть несколько переменных с одним и тем же именем, сначала ищется локальная переменная, затем — переменная текущего клипа, и только потом — глобальная переменная.
Переменные других клипов «не видны», для обращения к ним нужно указывать явно клип-родитель:
mc.x = 1;
_root.x = 12;
_parent.x = 123;
Присваивание
Для присваивания переменной нового значения используется знак =. Слева от него пишут имя переменной, а справа — выражение:
a = 4*(c + 2) + 3 / (r - 4*w) + d % 3;
Знак * обозначает умножение, знак / — деление, а % — взятие остатка от деления.
В выражении арифметические операции выполняются в следующем порядке:
действия в скобках;
умножение, деление и взятие остатка (слева направо);
сложение и вычитание (слева направо).
Этот порядок называется приоритетом (старшинством) арифметических операций.
Символьные строки можно «сцеплять» с помощью оператора +:
no = 20;
s = "Вася " + "пошёл гулять.";
qq = "Объект" + no;
Если в выражении участвуют разнотипные данные, происходит автоматическое преобразование к одному типу. Так в последней строке в переменную qq записывается строка Объект20.
Очень часто в программах используют операторы ++ (инкремент, увеличение переменной на 1, и -- (декремент, уменьшение переменной на 1). Операторы
i ++; k --;
означают то же самое, что
i = i + 1; k = k - 1;
Существует также сокращенная запись арифметических операций:
a += 20; b -= c - d; c *= a + b; d /= 2*c; f %= 12;
Этот код можно заменить на такие операторы в «нормальной» форме:
a = a + 20;
b = b - (c - d);
c = c * (a + b);
d = d / (2 * c);
f = f % 12
Объекты
Объект — это нечто, имеющее свойства и методы. В среде Flash существуют встроенные объекты (например, Array, MovieClip, Key). Кроме того, можно строить свои объекты:
var car = new Object();
car.v = 10;
car.year = 1998;
В среде Flash можно использовать объектно-ориентированное программирование, то есть создавать свои классы объектов, наделять их свойствами и методами.
Главная особенность объектов — это так называемая ссылочная адресация. То есть, при объявлении
var obj = new Object();
переменная obj хранит не сам объект, а только его адрес (ссылку на объект). Поэтому оператор присваивания
obj2 = obj;
не создает в памяти новый объект, который является копией объекта obj, а просто копирует адрес первого объекта в переменную obj2. После этого obj и obj2 указывают на один объект. Если мы хотим действительно построить копию объекта, адрес которого хранится в obj, можно сделать так:
var obj2 = new Object();
for ( prop in obj ) obj2[prop] = obj[prop];
Здесь в цикле перебираются все свойства первого объекта и копируются во второй. Переменная prop (символьная строка) — это название очередного свойства. Запись obj[prop] означает «свойство объекта obj, название которого хранится в prop».
|
|
|
|
