поиск

Неподдерживаемые или неполностью поддерживаемые элементы ActionScript во Flash Lite 2

Намусорил: Юрий «Бармалей» Яровой
В категории: Flash Lite

Вы никогда не задумывались над тем, почему Flash Lite (что в переводе означает «упрощенный», «облегченный» Flash) так называется? Наверное потому, что в первых версиях языка он был действительно донельзя простым. Но сейчас, зная что Flash Lite 2 по своим возможностям практически не уступает ActionScript 2, можно поиронизировать на эту тему и сказать, что Flash Lite — это тот же ActionScript 2, только лишенный многих полезных «фич».

В действительности же аппаратные особенности мобильных девайсов сильно отличаются от конструкций их старших настольных собратьев. Возьмем к примеру устройства ввода информации: у компьютера это клавиатура, с привычным нам количеством клавиш (у меня на ноутбуке их 84 + 5 мультимедийных), мышь. Но у мобильного устройства из клавиш есть только «крестик», заменяющий иногда кнопку «Ok», левая и правая функциональные клавиши, клавиша «Стереть», 12 цифро–буквенных клавиш, и недоступные для Flash–плейера клавиши посылки и завершения вызова, клавиша входа в меню телефона. Всего я насчитал 19 клавиш. Так же некоторые девайсы могут дополнятся стилусом, события которого Flash Lite плейер будет воспринимать аналогично событиям мыши.

Неудивительно, что многие из возможностей просто необходимых при создании контента для компьютеров, были убраны за их ненадобностью в Flash Lite. Например, много ли на вашем телефоне установленных шрифтов? Я насчитал 1, и то не знаю как он называется. А если шрифт 1, то естественно, что отпадает надобность в методе TextField.getFontList. Сколько подключенных к телефону принтеров? В добавок, на телефоне невозможно запустить одновременно два SWF–файла, а значит отпадает надобность в и классе LocalConnection.

В общем, ход мыслей разработчиков понятен и не лишен логики. Хотя все же закрадываются сомнения по этому поводу. Ведь у каждого телефона есть встроенный микрофон, на многих моделях стоят фото–камеры, а на некоторых и видео–камеры. Зачем же тогда убирать поддержку классов Camera и Microphone? Почему бы не сделать их опциональными, доступными по возможности, такими как, например, события onClipEvent(mouseDown) и onClipEvent(mouseUp), которые становятся доступными если System.capabilities.hasStylus возвращает true? Возможно это связано с тем, что поддержка этих устройств в разных моделях телефонов реализована по–разному. А возможно, что немаловажную роль в этом сыграл вездесущий принцип «виртуальной песочницы», который ограничивает потенциально опасные возможности плейера.

Впрочем, не будем делать поспешных выводов. Приглашаю начать знакомство с Flash Lite 2 с недоступных в нем или частично доступных элементов языка ActionScript.

Неподдерживаемые классы

Accessibility, Camera, ContextMenu, ContextMenuItem, CustomActions, LocalConnection, Microphone, NetConnection, NetStream, PrintJob, TextField.StyleSheet, TextSnapshot, XMLSocket

Неподдерживаемые методы

Mouse.hide, Mouse.show, MovieClip.attachAudio, MovieClip.getTextSnapshot, Selection.getBeginIndex, Selection.getCaretIndex, Selection.getEndIndex, Selection.removeListener, Selection.setSelection, System.setClipboard, System.showSettings, TextField.getFontList, TextField.replaceSel, Video.attachVideo, Video.clear

Неподдерживаемые свойства

Button.blendMode, Button.cacheAsBitmap, Button.filters, Button.menu, Button.useHandCursor, System.capabilities.language, System.capabilities.manufacturer, System.capabilities.pixelAspectRatio, System.capabilities.playerType, System.capabilities.screenColor, System.capabilities.screenDPI, System.capabilities.serverString, Key.isToggled, MovieClip.menu, MovieClip.useHandCursor, Stage.showMenu, System.exactSettings, TextField.menu, TextField.mouseWheelEnabled, TextField.restrict, Video._alpha, Video.deblocking, Video._height, Video.height, Video._name, Video._parent, Video._rotation, Video.smoothing, Video._visible, Video._width, Video.width, Video._x, Video._xmouse, Video._xscale, Video._y, Video._ymouse, Video._yscale

Неподдерживаемые глобальные функции

asfunction, MMExecute, print, printAsBitmap, printAsBitmapNum, printNum, updateAfterEvent, onUpdate (записал сюда, хотя это не глобальная функция, а обработчик)

Неподдерживаемые обработчики событий

onUpdate, Mouse.onMouseWheel

Команды, исключенные из fsCommand

Команда Описание обычно производимого действия
quit Закрывает прожектор.
fullscreen При вызове с указанием true переводит Flash Player в полноэкранный режим. При вызове с указанием false возвращает плейер в нормальный режим.
allowscale При вызове с указанием false настраивает плеер так, что файл SWF всегда отображается в своем оригинальном размере, без масштабирования. При вызове с указанием true отображение SWF-файла занимает 100% от окна плейера.
showmenu При вызове с указанием true разрешает показ полного набора элементов контекстного меню. При вызове с указанием false скрывает все пункты контекстного меню кроме «About Flash Player» и «Settings».
exec Запускает внешнюю программу.
trapallkeys Если указано true, то все события клавиатуры, в том числе и ускоряющие клавиши (accelerator keys), отправляются в программу обработки события onClipEvent(keyDown/keyUp) во Flash Player.

Частично поддерживаемые глобальные функции

Функция Описание Поддержка
fscommand() Функция, позволяющая SWF-файлу взаимодействовать с Flash Player или программой, в которую внедрен Flash Player, такой как веб-браузер. Частично поддерживается
on Префикс для выполнения действий на событие клипа, когда это событие произойдет.Ограничение: Поддерживаются только следующие события rollout, rollover, и keyPress. Частично поддерживается
onClipEvent Обработчик события; запускает определенные действия, указанные для конкретного экземпляра movie clip.Ограничение: Поддерживаются события press, load, unload, enterFrame, keyDown, keyup, и data.События mouseDown, mouseUp, и mouseMove поддерживаются, если System.capabilities.hasMouse или System.capabilities.hasStylus возвращает true. Частично поддерживается
startDrag() Функция делает мувиклип target перетаскиваемым во время проигрывания SWF–фильма. Одновременно перетаскиваемым при помощи данной функции может быть только один мувиклип.Ограничение: Поддерживается, если интерфейс мыши или стилуса активен. Частично поддерживается
stopDrag() Функция останавливает текущую операцию перетаскивания.Ограничение: Поддерживается, если интерфейс мыши или стилуса активен. Частично поддерживается

Частично поддерживаемые глобальные свойства

Свойства Описание Поддержка
_droptarget Свойство (только для чтения), возвращающее абсолютный путь в слеш–нотации (/) до мувиклипа над которым находится перетаскиваемый в данный момент мувиклип draggableInstanceName. Свойство всегда возвращает путь начинающийся со слеша (/). Частично поддерживается
_highquality Глобальное свойство устанавливающее уровень анти–алиастинга в текущем SWF–файле. Свойство контролирует так же и сглаживание растровых изображений. Ограничение: Flash Lite не производит сглаживание растровых изображений. Частично поддерживается
_url Свойство (только для чтения) указывающее на URL с которого был загружен текущий фильм. Частично поддерживается


Написать комментарий:

Bы можете использовать следующие теги для форматирования: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>



User's collector

Внимание!
Эта опция станет доступной только после того как вы авторизуетесь.


 запомнить меня 
Я новый пользователь

На правах рекламы