Главная /
Flash MX для профессиональных программистов
Flash MX для профессиональных программистов - ответы на тесты Интуит
Курс рассчитан не на дизайнеров, а на программистов. Детально изложены возможности, в том числе и недокументированные.
Список вопросов:
- # Какая концепция объектно-ориентированного программирования аналогична символу клипа во Флэше?
- # Что из перечисленного ниже может содержать в себе библиотека (Library) ролика?
- # Какая концепция объектно-ориентированного программирования аналогична экземпляру клипа во Флэше?
- # Чем отличается клип типа Graphics от обычного клипа?
- # Отдать команду редактировать символ можно в следующих местах:
- # На какой аспект поведения кнопки влияет опция "TrackAsMenu"?
- # Чем отличается кнопка от обычного клипа?
- # Какие шрифты может использовать динамическое текстовое поле?
- # В чем может заключаться отличие поведения обычного кадра от поведения соответствующего ему ключевого?
- # Какие шрифты может использовать статическое текстовое поле?
- # Какие из приведенных ниже утверждений верны?
- # Текстовое поле какого типа способно одновременно отобразить символы разных шрифтов и размеров?
- # Текстовое поле какого типа способно отображать верхние и нижние индексы?
- # Каково соотношение программно определяемых значений ширины клипов для двух клипов, в каждый из которых вставлена единственная горизонтальная линия (линии одинаковой длины и толщины), если в первом клипе линия нарисована в среде Флэш МХ, а во втором - программно?
- # Сколько контрольных точек имеет кривая Безье третьего порядка?
- # Каковы максимальные порядки кривых Безье, которые можно нарисовать программно (одним вызовом метода curveTo) и при помощи среды Флэш МХ (одним графическим примитивом) соответственно?
- # Какие строки можно передавать в качестве первого аргумента (описывающего тип градиента) в метод beginGradientFill?
- # Какая часть клипа обновляется при программном добавлении одного отрезка?
- # Каково полное число цветов, которое используется в динамической градиентной заливке?
- # Сколько аргументов метода beginGradientFill описывает параметры опорных точек градиента?
- # Какое максимальное количество опорных цветов может быть задано при рисовании градиента?
- # Может ли наряду с опорными цветами для метода beginGradientFill задаваться массив опорных коэффициентов прозрачности?
- # Сколько параметров должно быть обязательно указано в матрице преобразования обычного типа (не "box"), передаваемой в метод beginGradientFill, чтобы градиент корректно отрисовался?
- # Почему эллиптический градиент с преобразованием "box" всегда имеет строго вертикально и горизонтально ориентированные оси эллипса?
- # Сколько независимых друг от друга параметров задают матрицу преобразования градиента (как обычного, так и типа "box")?
- # Какой из типов градиента не может быть повернут под углом к горизонтали (вертикали), если матрица преобразования имеет тип "box"?
- # Как сделать градиент крестообразной формы?
- # В каком виде задается матрица преобразования для градиента?
- # Каким образом при вызове setStyleProperty компонент определяет, передана ли ему информация о цвете элемента скина, или о параметрах текста?
- # Какие существуют способы вызвать изменить определенное свойство скина для некоторого компонента?
- # Какую функцию нужно вызвать у объекта, задающего формат, чтобы в компонентах, подписанных на изменения этого формата, эти изменения проявились?
- # Какие объекты по умолчанию подписаны на события об изменении globalStyleFormat?
- # На события об изменении каких стилей форматирования стандартные контролы-компоненты нужно подписывать специально?
- # Наследниками каких классов являются стандартные компоненты?
- # Каков рекомендуемый способ замены скинов (если скинов много и их надо быстро менять) в библиотеке компонентов, сделанных из стандартных компонентов Flash MX?
- # Какое качество является основным признаком компонента?
- # Для передачи информации из чего: из CustomUI или live preview (или того и другого) - используется клип xch?
- # Какой объект xch, относящийся к CustomUI или к live preview (или же и тот и другой) сохраняется во *.fla-файле?
- # Когда среда Flash MX проверяет, были ли внесены какие-то изменения в параметры компонента?
- # Какой из факторов работает против принятия решения об использовании embedded (встроенного во *.fla-файл) CustomUI?
- # Для чего в случае CustomUI используется объект xch (отметить все верные ответы)?
- # Охарактеризуйте соотношение между live preview и CustomUI
- # Когда вызывается функция onUpdate для live preview (не считая случая инициализации компонента)?
- # Может ли в online-документации использоваться кириллица?
- # На какие из упомянутых ниже вариантов идентификаторов будет выдаваться контекстная подсказка (если она не была специально доопределена)?
- # Какой из тегов отвечает за контекстную подсказку по методам объекта (в Expert mode)?
- # Какой из атрибутов тега "string" отвечает за всплывающую подсказку по аргументам функции (в Expert mode)?
- # Какие из перечисленных атрибутов тегa "string" применяются для работы левой части панели Actions в Expert mode?
- # Для чего используется тег <string>?
- # Какие из перечисленных тегов могут содержаться непосредственно внутри (быть на следующем уровне xml-дерева) тега <customactions>?
- # Какого рода функции (методы) содержит папка CustomActions в левой части панели Actions (Objects / Authoring / CustomActions)?
- # Чтобы установить дополнительную online-документацию прямо из среды Flash MX нужно воспользоваться методом
- # Можно ли произвести установку документации, просто разложив нужные файлы по нужным каталогам?
- # С точки зрения пользователя дополнительная online-документация выглядит как
- # Каким образом создается дерево папок для References?
- # Какие из перечисленных ниже возможностей среды могут быть доопределены?
- # Какие из перечисленных возможностей настраиваются при помощи средств документирования Flash MX?
- # Могут ли быть доопределены списки известных среде идентификаторов и ключевых слов (для маркировки их цветом)?
- # Можно ли задать путь для runtime sharing из ActionScript?
- # Можно ли задать путь для runtime sharing с помощью author time sharing?
- # Какой из типов sharing требует перекомпиляции для обновления готовой симуляции?
- # Почему шаблон ролика надо вручную сохранять из среды Флэш МХ в рабочую директорию дизайнера?
- # Для чего удобно применять runtime sharing (отметьте все верные ответы)?
- # Для чего применяется комбинация runtime sharing и author time sharing?
- # Каков рекомендуемый способ использования системы контроля версий для одновременного обновления частично пересекающихся наборов файлов в двух разных папках на диске?
- # По какой причине мы рекомендуем хранить библиотечные файлы на подключаемом (например, сетевом) логическом диске?
- # Каким образом Флэш получает информацию об изменении HTML-шаблонов в директории FirstRun?
- # Какие из тегов в HTML-шаблоне можно использовать, чтобы установить параметры, устанавливаемые также тегами $PO и $PE?
- # Какие теги в HTML-шаблоне помечают служебную информацию, которая не попадет в окончательный HTML-файл?
- # Какие варианты записей в HTML-шаблоне правильным образом задают имя файла флэш-ролика?
- # Для чего бывает удобно использовать hard links?
- # Можно ли создать корректный HTML-шаблон, не имеющий одного из тегов <OBJECT> или <EMBED>?
- # Как устроен "компилятор флэш-файлов"?
- # Какие из приведенных ниже утверждений верны?
- # Если клип, у которого вызван метод loadVariables не встроен в дерево клипов (создан при помощи new вместо attachMovie и т.п.), то посылаться на сервер будут
- # Переменные какого объекта пересылает на сервер глобальная функция loadVariables?
- # В какой объект загружает переменные метод LoadVars.sendAndLoad?
- # Какие из перечисленных ниже объектов загружают информацию по HTTP?
- # Какая из глобальных функций аналогична методу LoadVars.send?
- # Что нужно сделать для того, чтобы корректно загрузить файл с переменными, значения которых являются русским текстом? Отметьте все возможные варианты.
- # Какой из механизмов предварительной загрузки является наиболее универсальным (может использоваться для загрузки максимально разнообразного содержимого)?
- # Предварительный загрузчик нужен
- # Какой из механизмов, перечисленных ниже, нельзя применить для вызова функций (JavaScript или VBScript) в браузере?
- # Что такое Shared Objects?
- # Какой из способов получения данных пригоден для загрузки данных не только с веб-сервера, но и с локального диска?
- # Для полноценной удаленной отладки не требуется
- # Как отследить и вывести процент загрузки большого runtime-shared клипа?
- # Удаленную отладку можно производить, если
- # Какие из приведенных ниже утверждений верны:
- # Какие из приведенных ниже лексем являются корректными идентификаторами ActionScript 1.0?
- # Что представляют собой объекты примитивных типов?
- # Как добавить объекту поле?
- # Когда происходит подключение включаемого файла?
- # Как хранятся числа во Флэш МХ?
- # В каких из перечисленных случаев происходит приведение операндов к строковому типу?
- # Что означает запись 5..toString(2)?
- # Как отличить друг от друга типы undefined и null?
- # Как производится сравнение в инструкции switch?
- # Что делает оператор === в языке ActionScript 1.0?
- # Что делает цикл for...in?
- # Можно ли управлять тем, включать файл или нет, если инструкция включения файла уже присутствует?
- # Для чего используются блоки во Флэш МХ?
- # Сколько времени "живет" точка останова?
- # Какие из перечисленных ниже записей годятся для получения значения поля field объекта obj (объект obj размещен в корневом клипе) из кода, выполняющегося в кадре корневого клипа?
- # Какими из приведенных ниже инструментов можно создать новую переменную?
- # Для перехода между разными сценами можно использовать
- # Для перехода между разными кадрами можно использовать
- # Команда перехода на другой кадр исполняется
- # Какие из приведенных утверждений верны:
- # Можно ли создать динамический клип с отрицательным номером уровня?
- # Отметьте свойства клипов, которые доступны для записи:
- # Может ли клип с номером уровня 10 быть расположен поверх клипа с номером уровня 20?
- # Какие варианты содержимого свойства _target правильны (могут встретиться в реальности)?
- # Что нужно сделать, чтобы клип по имени clip получал сообщения о нажатии кнопок на клавиатуре?
- # Что нужно сделать для того, чтобы использовать встроенную систему сообщений Flash MX для посылки своих собственных сообщений?
- # Какие из приведенных ниже утверждений верны?
- # Какая из областей видимости имеет преимущество перед всеми остальными:
- # Реакцию на изменение предопределенных свойств клипа _x и _у можно настроить
- # Какие из приведенных ниже выражений корректно определяют двумерный массив 2*2 по имени arr?
- # На что будет указывать ссылка arr в результате выполнения следующего кода: arr = [1, 2, 3][2];?
- # В каком виде функция Array.toString выводит в строку многомерный массив?
- # Каким образом данные хранятся в массиве?
- # Какие из указанных функций можно передать в метод sort для сортировки массива по убыванию?
- # Какие из приведенных ниже утверждений будут верны, если считать, что массив arr сформирован при помощи следующего кода: arr = [2, 4, 11]; arr[1.5] = 7;?
- # Какое высказывание о методах массива slice и splice является верным:
- # Какие методы массива пригодны для эмуляции стека?
- # Как правильно отсортировать массив чисел?
- # Какой из методов строки может отсчитывать символы от конца строки, если второй аргумент отрицателен?
- # Какой из методов строки эквивалентен устаревшей глобальной функции substring?
- # Какие методы массива пригодны для эмуляции очереди?
- # Какое минимальное количество вызовов функций (методов) необходимо для того, чтобы произвести замену подстроки в строке?
- # В какой из методов строки передается длина выделяемой подстроки?
- # Какой из методов строки всегда выдает подстроку, находящуюся между первым и вторым аргументом?
- # Рассмотрите следующий код function gen(){ var x = 0; return function(){ trace(++x); } } f1 = gen(); f2 = gen(); f1(); f2(); и определите, что именно он выводит в консоль? (В приведенных ниже вариантах ответа мы будем писать [перевод строки] вместо настоящего перевода строки.)
- # Рассмотрите следующий код function gen(){ var x = 0; f1 = function(){ trace(++x); } f2 = function(){ trace(++x); } } gen(); f1(); f2(); и определите, что именно он выводит в консоль? (В приведенных ниже вариантах ответа мы будем писать [перевод строки] вместо настоящего перевода строки.)
- # Рассмотрите следующий код function iter_n(n, func){ return function(x){ var result = x; for (var i=0; i<n; i++){ result = func(result); } return result; } } function func_inc(x){ return ++x; } f = func_inc; y = iter_n(iter_n(2, f)(2), f)(2); trace(y); и определите, что именно он выводит в консоль?
- # Рассмотрите следующий код function iter_n(n, func){ return function(x){ var result = x; for (var i=0; i<n; i++){ result = func(result); } return result; } } function func_twice(x){ return 2*x; } f = func_twice; z = iter_n(iter_n(2, f)(2), f)(2); trace(z); и определите, что именно он выводит в консоль?
- # Рассмотрите следующий код function iter_n(n, func){ return function(x){ var result = x; for (var i=0; i<n; i++){ result = func(result); } return result; } } function func_multiply_ten(x){ return 10*x; } f = func_multiply_ten; t = iter_n(iter_n(2, f)(2), f)(2); trace(t); и определите, что именно он выводит в консоль?
- # Откуда доступны локальные переменные?
- # В какой момент становятся доступны (не локальные) функции, определенные способом function name()?
- # Доступны ли локальные переменные некоторой функции после выхода из нее?
- # В какой момент становятся доступны (не локальные) функции, определенные способом name = function ()?
- # В какой момент теряется последняя ссылка на контекст вызова функции (что приводит к его разрушению), если не предпринимать явных действий по сохранению ссылки на этот контекст?
- # Как получить объект контекста вызова?
- # На какой объект указывает ссылка arguments.caller?
- # Как обратиться к полям объекта-функции из самой этой функции?
- # Какой способ не годится для параметризации функций, передаваемых в другие функции для последующего вызова?
- # Класс во Флэш МХ задается:
- # Оператор MyClass() выполнится корректно, если MyClass является
- # Может ли произвольный объект быть прототипом класса?
- # Если в конструкторе заводится поле а при помощи записи а = 5 (без использования this), то это поле появится
- # Если в конструкторе заводится поле а при помощи записи this.а = 5, то это поле появится
- # Может ли произвольная функция использоваться в качестве конструктора класса?
- # Ссылка constructor указывает на
- # Как завести новые методы в прототипе готового класса, имея ссылку cnstr, указывающую на конструктор этого класса?
- # Какие из приведенных ниже строчек кода, вызванных внутри функции-конструктора, позволят завести поле a в прототипе (в момент вызова конструктора)?
- # Какова доступность в объекте поля, имеющегося в прототипе?
- # Ссылка __constructor__ указывает на
- # Ссылка __proto__ указывает на
- # Как из метода, вызванного для объекта класса, завести поле, к которому могут получить доступ все объекты класса (но при этом не лежащее в прототипе)?
- # Почему для полноценной эмуляции статических свойств необходима специальная функция?
- # Какой механизм позволяет эмулировать приватные свойства?
- # Отметьте все варианты, в которых ссылка а после выполнения приведенного ниже кода будет указывать на объект класса Array
- # Отметьте все варианты, в которых ссылка а после выполнения приведенного ниже кода будет указывать на объект класса x
- # Отметьте все варианты, в которых ссылка а после выполнения приведенного ниже кода не будет указывать ни на объект класса Array, ни на объект класса x
- # Каким образом в класс-наследник попадают поля базового класса?
- # Конструктор базового класса записан
- # Если объекту изменить ссылку __proto__ динамически, то:
- # Альтернативное наследование решает проблему
- # Если изменить (добавить) какие-либо методы базового класса, то в производных классах
- # Проверить, к какому классу относится данный объект, можно
- # Отметьте все причины, по которым объект с динамически установленным __proto__ может не являться адекватной заменой объекта, созданного при помощи new (так, что ссылки __proto__ у обоих объектов будут одинаковы)?
- # "Лишние" вызовы конструкторов происходят:
- # Для чего используется ссылка __constructor__
- # Зачем может быть нужно добавлять функции в класс Object?
- # Зачем может быть нужно добавлять функции в класс Function?
- # Что делает запись var __proto__ = this?
- # Какую строчку из приведенных ниже следует вставить в описанную далее функцию superCon Object.prototype.superCon = function(){ // вот здесь надо вставить строку кода } на место, указанное в комментарии, чтобы ее (функцию superCon) можно было вызывать вместо super() в конструкторе (для вызова конструктора базового класса)?
- # Рассмотрите следующий код o = Object; _global.Object = Parent; Child = function () {}; _global.Object = o; delete o; и определите, какие высказывания по его поводу являются справедливыми.
- # За счет чего следующий код o = Object; _global.Object = Parent; Child = function () {}; _global.Object = o; delete o; обеспечивает то, что класс Child становится наследником класса Parent?
- # Для каких целей может служить код такого вида: func = function(someArgsArray){ // Количество аргументов в данном случае выбрано произвольно super(someArgsArray[0], someArgsArray[1]); } class_x = function(argClass, otherArgsArray){ this.__proto__.__constructor__ = argClass; func.apply(this, [otherArgsArray]); }
- # Для реализации виртуальных базовых классов в функции multipleInherit используется
- # В нашей реализации множественного наследования цепочки __proto__ базовых классов выстраиваются
- # Какая техника не применяется в общеполезной отладочной утилите dumpObj?
- # Зачем в нашей реализации множественного наследования применяется динамическая замена ссылки __constructor__ в процессе работы конструктора?
- # Почему в нашей реализации множественного наследования для корректного наследования от класса Array (или String) надо указывать его как системный базовый?
- # В нашей реализации множественного наследования виртуальный базовый класс
- # Обрыв цепочки __proto__ перед стоп-классом используется
- # Обрыв цепочки __proto__ после стоп-класса используется
- # Что такое стоп-классы?
- # Почему нужны дополнительные утилиты для наследования с виртуальными базовыми классами от "множественного наследника"?
- # Что делают дополнительные утилиты для наследования с виртуальными базовыми классами от "множественного наследника"?
- # Зачем нужно регистрировать классы?
- # Когда на сцене появляется изображение, соответствующее зарегистрированному классу (если не вытаскивать клип на сцену вручную в процессе редактирования)?
- # При вызове attachMovie
- # Что такое initObject?
- # Зачем нужны блоки #initclip?
- # Могут ли совпадать номера блоков #initclip?
- # В каком порядке выполняются блоки #initclip?
- # Можно ли при помощи attachMovie создать клип с отрицательным значением depth?
- # Можно ли применить swapDepths к клипам, которые не лежат внутри одного и того же клипа?
- # Можно ли применить swapDepths к двум клипам, которые расположены один на положительной глубине, а другой - на отрицательной?
- # Можно ли при помощи метода swapDepths переставить объекты типов MovieClip и Button соответственно?
- # Происходит ли перерисовка при вызове setInterval?
- # Может ли SetInterval обеспечить вызов callback-функции с частотой большей, чем частота смены кадров?
- # Может ли вызов callback-функции, запланированный при помощи setInterval, прерывать исполнение кода в кадре?
- # В чем разница между setProperty и addWatch?