После прочтения поста от TheRabbit я решил развить тему.
AS3 API не стоит на месте, постоянно появляются новые возможности. Но, почему-то, не все разработчики о них знают. Здесь я перечислю самые, на мой взгляд, важные из этих возможностей:
- Уже упомянутый Native Cursor. Flash Player и десктопный AIR могут управлять курсором операционной системы. Причём очень давно. Периодически я встречаю проекты, в которых невооружённым взглядом видно, что курсор представляет собой DisplayObject. Используйте нативный курсор и почувствуете разницу. Материал на тему: Working with native mouse cursors;
- Обработка правой кнопки мыши доступна с версии плеера 11.2. События MouseEvent.RIGHT_CLICK, MouseEvent.RIGHT_MOUSE_DOWN, MouseEvent.RIGHT_MOUSE_UP;
- Alchemy/FlasCC — средство для компиляции C/C++ кода в .swc библиотеки, которые можно подключать к Flash/AIR проектам. Даже если вы далеки и C/C++, эта возможность может вам пригодиться, так как часто такие библиотеки будут работать значительно быстрей, чем AS3 код;
- Нативные кодировщики JPEG и PNG. Несмотря на их существование многие разработчики продолжают использовать давно устаревшую библиотеку as3corelib. Те, кто знает о предыдущем пункте, используют библиотеки Alchemy/FlasCC. Но нативные кодировщики быстрей и того и другого. Как использовать: метод encode() класса BitmapData, классы JPEGEncoderOptions и PNGEncoderOptions;
- Встроенная поддержка JSON. Так же, как и кодировщик изображений, нативный JSON работает быстрей любых библиотек. Класс: JSON;
- Workers. Пусть костыльная и довольно неудобная, но многопоточность всё же есть, и в некоторых случаях её использование очень даже оправдано. Моя статья на эту тему;
- Поддержка игровых устройств. В свои игры можно добавить поддержку игровых контроллеров, это не сложно. Класс: GameInput;
- StageVideo. Использует аппартное ускорение для вывода видео, поддерживается как во FlashPlayer, так и в AIR(в том числе и в мобильном). Класс: StageVideo;
- StageText. Использует нативные текстовые поля в AIR для мобильных устройств. Позволяет полноценно работать с возможностями системной клавиатуры, в отличии от обычного TextField. Класс: StageText;
- Fullscreen с поддержкой клавиатурного ввода. С версии плеера 11.3 появился StageDisplayState.FULL_SCREEN_INTERACTIVE;
- ATF текстуры. Adobe Texture Format — специально разработанный формат текстур для Stage3D. Быстрей других типов текстур загружается в память GPU и занимают меньше памяти. Большинство современных движков поддерживают ATF. Конвертер png2atf есть в Adobe Gaming SDK, документация по нему там же.
Чтобы быть в курсе новых возможностей, просто следите за официальным описанием релизов.