Авторы: Михаил Капустин, Павел Капустин, Анна Копылова | Московский физико-технический институт
Форма обучения:
дистанционная
Стоимость самостоятельного обучения:
бесплатно
Доступ:
свободный
Документ об окончании:
 
Уровень:
Специалист
Длительность:
27:18:00
Студентов:
2867
Выпускников:
252
Качество курса:
4.61 | 4.44
Курс рассчитан не на дизайнеров, а на программистов. Детально изложены возможности, в том числе и недокументированные.
В курсе подробно разобраны как основы, так и наиболее сложные и неочевидные свойства системы программирования на основе Flash MX ActionScript. Максимальное внимание уделяется особенностям, происходящим из работы с интерпретатором, а также с системой внешних объектов ("символов", кадров и т.д.), которые создаются во Flash вручную. Проводится сравнительный анализ системы типов и классов с другими языками высокого уровня. Необычной частью курса является обсуждение приемов групповой работы во Flash, а также способов эмуляции множественного наследования.
ISBN: 978-5-9556-0051-2
 

План занятий

Занятие
Заголовок <<
Дата изучения
Лекция 1
2 часа 4 минуты
Введение
Среда разработки Flash MX: векторный редактор, управление анимацией, редактирование кода. Использование линейки времени. Обычные и ключевые кадры. Работа с панелью Movie Explorer. Редактирование кода, доступ к справочной информации. Компиляция флэш-ролика, различные способы его запуска. Символы различных типов, создание символов и их экземпляров. Создание кнопок и работа с ними. Типы текстовых полей. Встраивание шрифтов внутрь ролика. Работа с html-полями.
Оглавление
    -
    Лекция 2
    2 часа 26 минут
    Базовые понятия Action Script
    Происхождение ActionScript (скриптового языка Flash MX), стандарт ECMA-262 и его отношение к ActionScript. Сравнение ActionScript, JavaScript, Java и С++, рассматриваемых как алгоритмические языки. Примитивные типы данных как типы "только для чтения". Объектные типы данных. Подробный разбор поведения типа Number. Правила преобразования (конвертации) типов при выполнении операций. Способы получения подсказки по объектам встроенных типов. Операторы, стандартные для С-подобных языков. Специфические операторы, в том числе оператор строгого равенства (неравенства). Как операторы работают со строками. Таблица приоритетов операций. Особенности работы стандартных (для С-подобных языков) управляющих конструкций. Специфичные для Flash MX управляющие конструкции. Включение файлов, директива #include. Стражи включения. Методы отладки во Flash MX.
    Оглавление
      -
      Лекция 3
      2 часа 40 минут
      Клипы и ролики. Специальные возможности языка
      Обращение к переменной клипа по имени, записанному в виде строки. Способы обращения к полям объектов различной степени вложенности. Способы создания новых полей, в том числе по имени, записанному в строке. Иерархия клипов: отношение владения для клипов и объектов. Вертикальный порядок клипов. Порядок следования кадров и способы управления им. Работа со сценами. Подгрузка в текущий флэш-ролик других роликов. Предопределенные идентификаторы _root и _global. Семейство предопределенных идентификаторов _level. Свойства клипа и их изменение. Простейшие программные способы создания новых клипов: дублирование существующих клипов и создание пустых. Программная генерация текстовых полей. События, реакция и подписка на них. Пользование инструкциями with, в том числе многоуровневыми. Области видимости и их старшинство. Свойства (properties) и слежение за переменными.
      Оглавление
        -
        Лекция 4
        57 минут
        Контейнеры
        Способы создания массивов: new, квадратные скобки, создание "на лету". Многомерные массивы - массивы массивов. Сортировка: чисел, строк, объектов по полю, сортировка с помощью пользовательской функции. Эмуляция списка, стека, очереди при помощи массива. Эмуляции хэш-таблицы при помощи объекта общего вида. "Смешанный" массив (с ключами как числовыми, так и нет). Строки: создание при помощи кавычек и new, различные функции выделения подстроки. Быстрая замена подстроки.
        Оглавление
          -
          Лекция 5
          1 час 40 минут
          Функции
          Способы определения функций: заранее и "на лету". Реализация стражей включения при помощи последнего способа. Локальные переменные, локальные функции, иерархия областей видимости. Функция как объект, ссылки на функции, использование функции в качестве аргумента и в качестве возвращаемого значения. Конструирование функции в момент ее передачи в аргументы другой функции. Объект arguments и способы его использования; создание функций с произвольным числом аргументов. Методы arguments.caller и arguments.callee. Методы apply и call. Параметризованные функции. Принцип сохранения контекста и его применение: возвращение функции из другой функции, генератор функций. Эмуляция приватных полей.
          Оглавление
            -
            Лекция 6
            1 час 50 минут
            Классы
            Объектная модель ActionScript 1.0: прототипное наследование. Понятие прототипа, способы эмуляции прототипа. Конструктор и его двоякая роль в прототипном наследовании. Изучение деталей функционирования прототипного наследования при помощи его эмуляции. Доступ к скрытым полям и методам при помощи недокументированной функции ASSetPropFlags. Механизмы взаимодействия объекта и прототипа. Скрытые поля __proto__, constructor и __constructor__. Механизм copy on write при обращении к полям объекта. Способы эмуляции статических и приватных полей и методов.
            Оглавление
              -
              Лекция 7
              2 часа 6 минут
              Наследование во Flash MX
              Наследование как модификация прототипа. Цепочка поиска (она же цепочка __proto__) и ее связь с механизмом copy on write. Работа с прототипами различных уровней. Ключевое слово super как средство доступа к базовому классу (его конструктору и методам). Явное указание базового класса. "Лишние" вызовы конструкторов: откуда они берутся и как бороться с ними. Проверка типа. Изменение уже готовой иерархии классов. Альтернативное наследование. Изучение возможностей наследования от необычных типов. Наследование и контекст вызова функции. Наследование и (эмулированные) приватные поля.
              Оглавление
                -
                Лекция 8
                2 часа 29 минут
                Эмулируем множественное наследование
                Обзор возможностей ActionScript 1.0 по эмуляции различных языковых средств. Основной принцип эмуляции множественного наследования при помощи прототипного. Сложности эмуляции и их преодоление. Реализация виртуальных базовых классов. Работа с системными базовыми классами. Встраивание в иерархию полученного класса-наследника. Полезные утилиты.
                Оглавление
                  -
                  Лекция 9
                  50 минут
                  Классы и клипы
                  Регистрация классов: цели, реализация, правильное размещение кода. Порядок инициализации клипов; рекомендации по пользованию секцией #initclip. Дерево владения и механизм attachMovie. Уровни объектов, swapDepth, распределители уровней. Слежение за переменными. Таймер, не связанный с линейкой времени: функция setInterval.
                  Оглавление
                    -
                    Лекция 10
                    1 час 44 минуты
                    Программное рисование во Flash MX
                    Функции для программного рисования прямых и кривых Безье второго порядка (квадратичных сплайнов). Кривые Безье третьего и более высоких порядков, их приближенное рисование при помощи квадратичных сплайнов. Сплошные и градиентные заливки. Линейный и радиальный градиент, матрица трансформации градиента. Два типа матрицы преобразования, правила ее построения. Практическое применение градиентных заливок на примере задачи скругления углов заданного изображения.
                    Оглавление
                      -
                      Лекция 11
                      1 час 16 минут
                      Компоненты: готовые и "самодельные"
                      Компоненты пользовательского интерфейса. Библиотека стандартных компонентов Flash MX, их использование. Настройка внешнего вида стандартных компонентов. Внутреннее устройство стандартных компонентов. Объявление собственного компонента и конфигурирование его параметров. Custom user interface - собственный интерфейс настройки параметров компонента. Подключение CustomUI как внешнего файла и внедрение его внутрь *.fla-файла редактируемого ролика. Роль объекта xch в обмене информацией. Live preview - демонстрация примерного поведения компонента в процессе редактирования. Создание live preview и организация его взаимодействия с интерфейсом настройки параметров компонента. Объект xch и live preview. Диаграмма обмена информацией.
                      Оглавление
                        -
                        Лекция 12
                        34 минуты
                        Средства документирования во Flash MX
                        Средства для установки дополнительной онлайн-документации. Преодоление сложностей с национальными кодировками. Теги для изготовления Reference. Создание документов, управляющих контекстными подсказками. Описания цветовой схемы для выделения элементов синтаксиса. Добавление информации о новых (например, библиотечных) конструкциях для работы в Normal mode (то есть в режиме составления кода из готовых шаблонов).
                        Оглавление
                          -
                          Лекция 13
                          1 час 13 минут
                          Методика организации командной работы над Flash-проектом
                          Механизм author time sharing - для чего он нужен и как его применять. Механизм runtime sharing - его отличия от author time sharing, плюсы и минусы. Управление процессом загрузки клипов, подключенных при помощи runtime sharing. Совместная работа двух механизмов sharing. Шаблоны (шаблонные *.fla-файлы) для разработки. Публикация и использование html-шаблонов. Создание собственных библиотек компонентов (и других сущностей для совместного использования). Программа для массовой компиляции флэш-файлов. Использование специальных средств операционной системы: subst (псевдонимов логических дисков) и hardlink'ов. Удобные способы применения системы контроля версий.
                          Оглавление
                            -
                            Лекция 14
                            1 час 59 минут
                            Работа флэш-программ в Internet
                            Управление загрузкой веб-страниц из флэш-ролика. URL-кодированные строки переменных и их использование. Способы загрузки дополнительных роликов в текущий. Загрузка переменных. Предзагрузчики: простейший (встроенный в ролик) предзагрузчик, внешний предзагрузчик. Внешнее управление: передача флэш-ролику параметров из HTML (при загрузке ролика), управление роликом из JavaScript (или VBScript). Вызов JavaScript-функций (VBScript-функций) из ролика. Команда fscommand, ее различные применения. Взаимодействие несвязанных роликов между собой: механизм Local Connection. Shared Objects: сохранение данных на локальном диске и обмен этими данными. Изменение текущей (по умолчанию) директории: атрибут BASE в html-коде. Динамическая загрузка звуковых файлов, работа с потоковыми звуками. XML-данные: загрузка через HTTP и с помощью XMLSocket. Flash Remoting - специальная технология взаимодействия с серверной частью приложения. Отладка (в том числе - удаленная) при работе в браузере.
                            Оглавление
                              -
                              1 час 40 минут
                              -