- •Юридическая информация
- •Содержание
- •Глава 1. Введение в ActionScript 3.0
- •О языке ActionScript
- •Преимущества ActionScript 3.0
- •Новые возможности ActionScript 3.0
- •Возможности языка ядра
- •Функции прикладных интерфейсов программирования (API)
- •Глава 2. Начало работы с языком ActionScript
- •Основы программирования
- •Какие функции выполняют компьютерные программы
- •Переменные и постоянные
- •Типы данных
- •Работа с объектами
- •Свойства
- •Методы
- •События
- •Основные сведения об обработке событий
- •Процесс обработки событий
- •Примеры обработки событий
- •Создание экземпляров объекта
- •Общие элементы программы
- •Операторы
- •Комментарии
- •Управление исполнением программы
- •Пример. Фрагмент анимации портфолио (Flash Professional)
- •Подготовка и добавление интерактивных элементов
- •Создание и добавление кнопок
- •Написание кода
- •Проверка приложения
- •Создание приложений с ActionScript
- •Параметры для организации кода
- •Правильный выбор инструмента
- •Процесс разработки в ActionScript
- •Создание пользовательских классов
- •Стратегия разработки класса
- •Написание кода для класса
- •Пример: создание базового приложения
- •Проектирование приложения ActionScript
- •Создание проекта HelloWorld и класса Greeter
- •Добавление кода к классу Greeter
- •Создание приложения с использованием кода ActionScript
- •Публикация и проверка приложения ActionScript
- •Модернизация приложения HelloWorld
- •Глава 3. Язык ActionScript и его синтаксис
- •Обзор языка
- •Объекты и классы
- •Пакеты и пространства имен
- •Пакеты
- •Создание пакетов
- •Импорт пакетов
- •Пространства имен
- •Переменные
- •Знакомство с областью действия переменной
- •Значения по умолчанию
- •Типы данных
- •Проверка типа
- •Проверка типа во время компиляции
- •Проверка типа при выполнении
- •Оператор is
- •Оператор as
- •Динамические классы
- •Описания типов данных
- •Логический тип данных (Boolean)
- •Тип данных int
- •Тип данных Null
- •Тип данных Number
- •Тип данных String
- •Тип данных uint
- •Тип данных void
- •Тип данных Object
- •Преобразования типа
- •Синтаксис
- •Чувствительность к регистру
- •Синтаксис с точкой
- •Синтаксис с косой чертой
- •Литералы
- •Точки с запятой
- •Скобки
- •Комментарии
- •Ключевые слова и зарезервированные слова
- •Константы
- •Операторы
- •Старшинство и ассоциативность операторов
- •Основные операторы
- •Постфиксные операторы
- •Унарные операторы
- •Мультипликативные операторы
- •Аддитивные операторы
- •Операторы побитового сдвига
- •Реляционные операторы
- •Операторы равенства
- •Побитовые логические операторы
- •Логические операторы
- •Оператор условия
- •Операторы присваивания
- •Условия
- •инструкция if..else
- •инструкция if..else if
- •switch
- •Повтор
- •for each..in
- •while
- •do..while
- •Функции
- •Концепции основной функции
- •Параметры функций
- •Функции в качестве объектов
- •Область действия функции
- •Глава 4. Объектно-ориентированное программирование на языке ActionScript
- •Введение в объектно-ориентированное программирование
- •Классы
- •Определения классов
- •Атрибуты свойств классов
- •Атрибуты пространства имен для управления доступом
- •Атрибут static
- •Определенные пользователем атрибуты пространства имен
- •Переменные
- •Методы
- •Методы-конструкторы
- •Статические методы
- •Методы экземпляра
- •Методы доступа get и set
- •Связанные методы
- •Перечисления с классами
- •Классы встроенных ресурсов
- •Использование классов встроенных ресурсов в инструменте Flash Professional
- •Использование классов встроенных ресурсов с помощью компилятора Flex
- •Интерфейсы
- •Определение интерфейса
- •Реализация интерфейса в классе
- •Наследование
- •Свойства экземпляра и наследование
- •Переопределение методов
- •Статические свойства не наследуются
- •Статические свойства и цепочка области действия
- •Дополнительные темы
- •История объектно-ориентированного программирования на языке ActionScript
- •Объект класса в ActionScript 3.0
- •Объект признаков
- •Объект прототипа
- •Пространство имен AS3
- •Пример: GeometricShapes
- •Определение классов GeometricShapes
- •Определение общего поведения с помощью интерфейсов
- •Определение классов фигур
- •Полиморфизм и фабричный метод
- •Расширение примера приложения
ИЗУЧЕНИЕ ACTIONSCRIPT 3.0 |
107 |
Объектно-ориентированное программирование на языке ActionScript
function getDay():Day
{
var date:Date = new Date(); var retDay:Day;
switch (date.day)
{
case 0:
retDay = Day.MONDAY; break;
case 1:
retDay = Day.TUESDAY; break;
case 2:
retDay = Day.WEDNESDAY; break;
case 3:
retDay = Day.THURSDAY; break;
case 4:
retDay = Day.FRIDAY; break;
case 5:
retDay = Day.SATURDAY; break;
case 6:
retDay = Day.SUNDAY; break;
}
return retDay;
}
var dayOfWeek:Day = getDay();
Кроме того, класс Day можно расширить, чтобы он связывал целое число с каждым днем недели и определял метод toString(), возвращающий строковое представление дня.
Классы встроенных ресурсов
В языке ActionScript 3.0 используются особые классы для представления встроенных ресурсов, называемые классами встроенных ресурсов. Встроенный ресурс — это ресурс, такой как звук, изображение или шрифт, включенный в SWF-файл во время компиляции. Встраивание ресурса вместо его динамической загрузки гарантирует его доступность во время выполнения, однако за счет увеличения размера SWF-файла.
Использование классов встроенных ресурсов в инструменте Flash Professional
Чтобы встроить ресурс, сначала поместите его в библиотеку FLA-файла. Затем используйте свойство связывания ресурса, чтобы передать имя для его класса встроенных ресурсов. Если класса с таким именем нет в пути к классам, он создается автоматически. После этого можно создать экземпляр класса встроенных ресурсов и использовать любые определенные или унаследованные им свойства и методы. Например, следующий код можно использовать для воспроизведения встроенного звука, связанного с классом встроенных ресурсов PianoMusic.
var piano:PianoMusic = new PianoMusic(); var sndChannel:SoundChannel = piano.play();
Последнее обновление 12.5.2011.
ИЗУЧЕНИЕ ACTIONSCRIPT 3.0 |
108 |
Объектно-ориентированное программирование на языке ActionScript
В противном случае можно использовать тег метаданных [Embed] для встраивания ресурсов в проект Flash Professional, как описано далее. Если в коде используется тег метаданных [Embed], в инструменте Flash Professional для компиляции проекта используется компилятор Flex, а не компилятор Flash Professional.
Использование классов встроенных ресурсов с помощью компилятора Flex
При компиляции кода с помощью компилятора Flex для встраивания ресурса в код ActionScript используйте тег метаданных [Embed]. Поместите ресурс в основной исходной папке или в другой папке, включенной в путь сборки проекта. Когда компилятор Flex обнаружит тег метаданных Embed, он создаст класс встроенных ресурсов. Обратиться к классу можно через переменную типа данных Class, объявленную сразу после тега метаданных [Embed]. Например, следующий код встраивает звук с именем sound1.mp3 и использует переменную soundCls для хранения ссылки на класс встроенных ресурсов, связанный с этим звуком. После этого создается экземпляр класса встроенных ресурсов, для которого вызывается методplay().
package
{
import flash.display.Sprite; import flash.media.SoundChannel; import mx.core.SoundAsset;
public class SoundAssetExample extends Sprite
{
[Embed(source="sound1.mp3")] public var soundCls:Class;
public function SoundAssetExample()
{
var mySound:SoundAsset = new soundCls() as SoundAsset; var sndChannel:SoundChannel = mySound.play();
}
}
}
Adobe Flash Builder
Чтобы использовать тег метаданных [Embed] в проекте Flash Builder ActionScript, импортируйте все необходимые классы из среды Flex. Например, чтобы встроить звуки, импортируйте класс mx.core.SoundAsset. Чтобы использовать систему Flex, включите файл framework.swc в путь сборки ActionScript. Это приводит к увеличению размера SWF-файла.
Adobe Flex
В противном случае в среде Flex ресурс можно встроить с помощью директивы @Embed() в определении тега MXML.
Последнее обновление 12.5.2011.