
- •Основы языка 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
- •Градиентная заливка
- •Квадраты
- •Двойной щелчок
- •Текстовое поле
Добавление пользователя
Для добавления пользователя в базу (разделяемый объект, ссылка на который хранится в переменной v) будем использовать функцию addUser, которую расположим в кадре 1. Она принимает один параметр — структуру userData, в которой хранятся все сведения о новом пользователе.
Добавьте к коду кадра 1 функцию
function addUser ( userData ) {
if ( v.data.base == undefined )
v.data.base = new Array();
v.data.base.push ( userData );
v.flush();
}
Сначала проверяем, если вообще база, если ее еще нет, она создается. Затем новый элемент добавляется в конец массива с помощью метода push и сразу записывается на диск (v.flush).
После щелчка по кнопке Сохранить происходит событие click. В его обработчике нужно проверить, введены ли имя и пароль. Если да, в новый объект записываются все данные, вызывается функция addUser и выполняется переход на метку start.
Выделите кнопку Сохранить и добавьте к ней обработчик
on ( click ) {
if ( _root.nameNew.text == "" ) return;
if ( _root.passNew.text == "" ) return;
var userData = new Object();
with ( _root ) {
userData.name = nameNew.text;
userData.pass = passNew.text;
userData.gender = male.selected;
userData.info = memo.text;
userData.born = year.selectedItem.label;
userData.interest = Number(int1.selected) +
Number(int2.selected)*10 +
Number(int3.selected)*100 +
Number(int4.selected)*1000;
}
_root.addUser ( userData );
_root.gotoAndStop("start");
}
Проверьте работу фильма и сохраните с именем ЛР8.fla
Обратите внимание на хранение значений четырех флажков в одном поле interest объекта userData. Каждое из четырех значений — логическое, при переводе в числовую форму с помощью преобразования типа Number(...) получаем 0 или 1 (соответственно для false и true). Таким образом, если все флажки включены, в поле interest будет записано число 1111, а если включены только 1-ый и 4-ый флажки — число 1001.
Индивидуальное задание
Для приложения, созданного в ЛР7 создайте интерактивный интерфейс, позволяющий регистрировать пользователей вашего приложения, обеспечивать вход по паролю, выбирать группу слайдов для просмотра.
Сохраните фильм с именем Фамилия_ИДЗ_8.fla
Лабораторная работа № 9 «Рисование из программы»
При создании Flash-роликов можно рисовать практически все из программы, используя специальный набор команд (интерфейс), который называется Drawing API. Он включает 8 функций, которые являются методами клипа (MovieCLip):
clear() — очистить все элементы, нарисованные в этом клипе из программы;
lineStyle(...) — установить стиль линии (толщину, цвет, прозрачность и т.д.);
moveTo(x,y) — переместить курсор (активную точку) в точку c координатами (x,y);
lineTo(x,y) — провести отрезок от курсора в точку (x,y); при этом курсор перемещается в точку (x,y);
curveTo(...) — нарисовать кривую;
beginFill(...) — начать одноцветную заливку;
beginGradientFill(...) — начать градиентную заливку;
endFill() — завершить заливку.
Функции, у которых в списке параметров стоит многоточие, будут подробно изучаться далее.