- •Основы языка 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
- •Градиентная заливка
- •Квадраты
- •Двойной щелчок
- •Текстовое поле
Загрузка фильмов
Для загрузки фильма в нужный уровень используют функцию
loadMovieNum ( имя файла, номер уровня );
Например код:
loadMovieNum ( "vesti.swf", 1 );
загружает ролик vesti.swf в уровень 1. Для обращения к нему (например, для перемещения) нужно использовать адрес _level1. Однако это можно делать только в следующем кадре, иначе фильм не успеет загрузиться.
Если в этом уровне уже был фильм, он удаляется из памяти. Таким же образом можно заменить и основной ролик, загрузив новый фильм в уровень 0.
Откройте файл tv.fla, создайте слой Программа и добавьте в первый кадр код
chNames = ["vesti.swf", "sport.swf", "ctc.swf"];
MAX = chNames.length;
loadChannels();
function loadChannels() {
for ( i = 1; i <= MAX; i++ )
loadMovieNum ( chNames[i-1], i );
}
Сначала в массив chNames записываются имена файлов, в которых находятся ролики, изображающие телевизионные каналы. Эти файлы расположены в папке ЛР, там же, где и основной файл, поэтому не нужно указывать путь, достаточно имени файла.
Далее для удобства записываем длину массива (число каналов) в переменную MAX и вызываем функцию loadChannels, которая загружает ролики в память на уровни 1, 2 и 3. Обратите внимание, что в цикле при обращении к массиву использован индекс i-1, поскольку номера элементов массивов начинаются с нуля.
Если запустить и просмотреть ролик, мы ничего не увидим, потому что в первом кадре каждого из внешних фильмов стоит команда
_visible = false;
Это сделано специально, иначе все ролики сразу после загрузки появятся в левом верхнем углу экрана.
Работать с уровнями _level1, _level2 и _level3 пока нельзя, поскольку они будут полностью загружены только к началу следующего кадра.
Использование Переменных
Различают три типа переменных:
локальные переменные, которые объявляются внутри функции с помощью слова var;
переменные временной шкалы (переменные клипа), которые связаны с клипом и могут рассматриваться как его свойства;
глобальные переменные, которые можно использовать без указания адреса из любого места в программе.
Локальные переменные
Локальные переменные действует только внутри функции, они объявляются с помощью слова var. Например, здесь переменные qq, x и s — локальные:
function A() {
var qq;
var x: Number, s: String;
...
}
Тип переменной qq не определен, в нее можно записывать любые данные. Для переменных x и s использован строгий стиль описания: с указанием типа. При попытке записи в такие переменные значения другого типа появится сообщение об ошибке. Кроме того, если тип переменной точно указан, при наборе ее имени в редакторе кода появляется окно с подсказками, в котором перечислены все свойства и методы, применимые к этому типу данных.
Существуют три простых типа данных
Number — число;
Boolean — логическое значение (true или false);
String — символьная строка.
Переменные могут принимать два специальных значения:
null — особое нулевое значение;
undefined — значение переменной не определено.
В примере
var q;
trace ( x );
trace ( q );
в окно Output выдается два раза результат undefined, поскольку переменная x вообще неизвестна, а q объявлена, но никакое значение ей не присвоено.
Переменные типа Object могут хранить ссылки на объекты (например, клипы), то есть, их адреса. Например, если разместить следующий код в любом кадре главной временной шкалы
var x: Object;
x = this;
trace(x);
в окно Output выводится _level0, то есть переменная x ссылается на главный монтажный стол.
Переменные клипа
Для того, чтобы создать переменную клипа myClip достаточно присвоить ей значение таким образом:
myClip.x = 10;
Если же код стоит внутри обработчика события клипа, можно написать this.x=10; или просто x=10, этот прием мы неоднократно использовали.
Глобальные переменные
Глобальные переменные вводятся с помощью слова _global:
_global.x = true;
К переменной x теперь можно обращаться с любого монтажного стола, она одна на всех. Чтобы не запутаться с глобальными переменными, им часто дают имена, начинающиеся с буквы g, например, gPower.
Функции
Общие сведения
Функции предназначены для того, чтобы не писать несколько раз одинаковый код — вместо этого просто вызывается функция.
Функции объявляются с помощью слова function:
function qq() {
...
}
Имя этой функции — qq, при ее вызове qq(); выполняются все команды внутри фигурных скобок. Многоточие здесь и далее означает любой код на ActionScript.
Функция может принимать параметры или аргументы — они перечисляются через запятую в скобках:
function qq ( x ) { ... }
function ww ( x:Number, s:String ) { ... }
Функция qq принимает один параметр, его тип может быть любой. Функция ww принимает два параметра, причем их типы жестко заданы: первый — число, второй — символьная строка.
Функция может возвращать результат (число, строку, логическое значение и т.д.) с помощью оператора return. Например:
function Sum ( x, y ) {
var s = x + y;
return s; // или return x + y;
}
Чтобы использовать это значение, надо записать его в переменную:
w = Sum ( 2, 3 );
trace ( w );
