Столкнулся в примере AIR Cookbook с необъяснимым ускорением записи с микрофона.

Друзья!
Давно, ещё в доадобовские времена я занимался флешем, учился, рисовал, писал программы и всё, собственно, было хорошо. Но потом я как-то упустил передовую волну развития, появился АС3, в котором я по причине отсутствия знаний об ООП ничего не понял, и, к сожалению, флеш я забросил. Но всё это время что-то внутри не давало мне покоя: каждый раз, как я видел какие-то флешки, программы, читал этот блог, я жалел, что не занимаюсь флешем. На блог я, к слову, подписал уже очень давно, но читаю и участвую в его жизни редко — всё потому, что потерял Нить и ничего уже не понимаю.
Ответьте, пожалуйста, на «детские» вопросы, объясните что к чему. Я совершенно потерялся в этом вихре событий и технологий.
1. С чего начать изучение AS3.0? Какие-то комплексные, пошаговые уроки, книги (желательно в эл. виде)? Есть несколько блогов-уроков в закладках, но интересен именно ваш профессиональный взгляд на то, с чего стоит начать.
2. Стоит ли вообще начинать изучение АС3, если грядёт АС4 (мысль прочёл в одном из недавних постов)? Что вообще представляет из себя АС4, радикально новое или просто улучшенное старое? В гугле по этому поводу — с гулькин нос.
3. Наверное совсем глупый вопрос, но что такое Flex? «Adobe Flex — технология для создания Rich Internet Applications», говорит нам вики, примерно то же — флексипедия, но я всё равно не пойму что это. Так может нужно изучать не флеш, а флекс? Совсем, совсем запутался...
4. Что вообще творится в мире Флеша? За что стоит браться? Или пока не задаваться этим вопросом, а учить основы?
5. Ну и последний, видимо соревнующийся по глупости с третьим: правая кнопка в флешке навсегда будет выдавать только меню флэша?
Спасибо за внимание.
P.S. Можно ли будет к кому-то из вас лично обращаться за помощью по всяким мелким вопросам, возникшим на пути изучения?
Задача: получить введенный с клавиатуры символ.
Решение: тривиальная вещь, о которой не задумаешься, пока ее недореализация не заберет пару часов времени бесплодных попыток найти решение там, где его нет.
В Actionscript 3 событие KeyboardEvent.KEY_DOWN не содержит информации о реальном коде нажатого на клавиатуре символа, а содержит лишь код латинского символа, соотвествующего нажатой клавише - в свойстве charCode.
Проще говоря, узнать из события KeyboardEvent о том, что был введен русский символ Й (код 1049), а не Q (код 81) - невозможно без лишних действий. Даже в русской раскладке клавиатуры вы будете получать код 81.
Обойти это можно, разместив в приложении невидимое текстовое поле, и, дав ему фокус ввода, слушать его событие TextEvent.TEXT_INPUT - тогда можно узнать введенный в текстовое поле символ, хоть кириллический, хоть иероглиф. Пример есть на FlexExamples, см второй пример на странице. Некрасиво, но работает.
Это баг, его нужно исправить - и он уже занесен в Adobe JIRA, но интересен комментарий разработчика Flash Player: .
"Событие нажатия клавиши относится к клавишам, а не символам. После того, как ОС сопоставляет клавиши символам, мы получаем событие символа, и если мы попытаемся в это влезть, мы окажемся в мире боли, с каждой отличающейся раскладкой клавиатуры. Пользователи не должны ожидать, что событие нажатия клавиши будет работать с введенным символовм - об этом даже есть примечание в ASLR:
Примечание: так как раскладка (соответствие между клавишами и конкретными символами) зависит от устройства и операционной системы, используейте событие TextEvent для обработки ввода символов."
Я недостаточно крут в раскладках, но с моей, юзерской точки зрения, разработчики проигрывателя все же должны позаботиться об этом за кодеров - ведь если многие наступают на одни грабли и ищут введенный символ в событии KEY_DOWN или KEY_UP, то это что-то означает?
Да и не хочется внедрять в проект невидимое текстовое поле и давать ему фокус ввода лишь затем, чтобы узнать код введенного символа. Или все же есть другой, способ, красивее?
Если вы еще не знаете, то Vector — это новый класс во Flash Player 10. По способу использования он является типизированным массивом, о котором мечали еще флэшеры семидесятых. Vector не только типизирован, но и дает более производительный код (очевидно, его внутрення природа — не простая обертка вокруг массива). Вот статья по классу Vector для начинающих.
Еще легче, чем кодироват. Пара минут может уйти на привыкание к синтаксису. Он немного сложнее, чем у массива, потому что вектор строго типизирован. Поэтому везде, где вы имеете дело с вектором, нужно после обозначения типа и точки дополнительно в треугольных скобках указать тип хранимых в векторе значений. Например, String для вектора строк:
var stringVector : Vector.<String> = new Vector.<String>();
Когда я впервые использовал Vector, то сделал синтаксические ошибки в каждом случае его применения, по привычке работал как с нетипизированным массивом. Но с векторами нужен векторный синтаксис. В этом примере две ошибки:
public function findDuplicates(text : String) : Vector
{
var result : Vector = new Vector.<Duplicate>();
...
return result
}Первая ошибка исправляется указанием полного типа вектора при объявлении переменной:
var result: Vector.<Duplicate> = new Vector.<Duplicate>();
Вторая исправляется указанием полного типа вектора возвращаемого результата:
public function findDuplicates(text : String) : Vector.<Duplicate>
(в примере <Duplicate> — это тип данных вектора, тут используется собственный класс, а на его месте можеть быть int, Date и т.д.)
Дочитали до этой фразы и стало скучно, используете вектор уже восемь-десять лет? Есть информация для продвинутых вектор-юзеров в ActionScript — динамическое создание экземпляров класса Vector и тест Array vs. Vector vs. Linked list.
Дочитали досюда? Круто *-)
Привет, меня зовут Артем, я работаю в комапании МедиаТэк. Мы разрабатываем онлайн-игры. Передо мной поставлена нелегкая задача — увеличить наш дружный коллектив. Сегодня мы готовы взять до 5 Flash-разработчиков и аниматоров для участия в новых игровых онлайн-проектах (работа в офисе). Я решил обратиться за помощью сюда. Вот требования, на основании которых происходит отбор кандидатов:
Общие требования: нестандартное мышление, творческий подход, быстрая обучаемость, коммуникабельность, ответственность, надежность, активность, любовь к онлайн играм.
В свою очередь, мы предлагаем коллектив неравнодушных к играм единомышленников, достойные условия труда и привлекательный соцпакет. Зарплата начинается от 600 у.е. (Junior) и "до" ... вот это "до" мы готовы обсуждать с каждым индивидуально. Нас не пугают серьезные пожелания, если они имеют под собой основание из вашего опыта и того, что вы реально умеете!
Если Вам интересна эта работа, присылайте резюме и портфолио со своими работами по адресу: job@gamezhero.com. А если для Вас неактуально, то вполне может оказаться, что работу ищет ваш знакомый — сообщите ему об этом предложении. Можете выручить человека работой 
Спасибо,
Артем Дружелюбов
Презентация раскрывает способы оптимизации написания кода приложения. Я для себя нашел новые подходы, и вспомнил старые. Одним словом — полезность
Ссылочка ниже (картинка тоже кликабельна):
Собрал небольшую коллекцию фреймворков, с которыми познакомился в последнее время:
Продолжение следует.

Приветствую вас, RIA-люди!
В этот замечательный день, выходит первый выпуск моего видео-журнала Flash Skill Tokita Edition. Мой видео-журнал не учит, он просто показывает, как делаются всякие интересные штуковины на Flash/Flex/AIR. Конечно, оформление видео-журнала очень страдает, а это я объясню нехваткой времени, т.к. текущий месяц у меня очень наряжен в плане учебы (экзамены, ЦТ), но очень хотелось сделать первый выпуск) Следующие выпуски будут более интересные и лучше оформлены, т.к. рассказать есть еще много чего.
Содержание FSTE №1:
1) Приём Firk Animation(анимация)
2) Анимация Флага (анимация)
3) Интересные фильтры (анимация)
4) Определение области лица на видео (AS3)
Первый выпуск моего видео-журнала, так сказать тестовый, хочу посмотреть на реакцию людей, получить достойную критику, дабы улучшить его в будущем. Хочется, чтобы он был интересен не только кодерам, но и аниматорам. Честно, я старался)))
Скачать
Если не хотите скачивать, открывайте Adobe Media Player и дайте ему верхнюю ссылочку.
Смотреть его онлайн
P.S. Следующие выпуски будут уже с поясняющим текстом, интервью с интересными людьми, обзорами новых технологий.
Многие меня спрашивают, как реализовать?) Поэтому и написал данный тексткаст)
Простенький вариант без применения визуальных эффектов с глубиной.

Тут ничего сложного. Заносим всех детей контейнера в массив, объектом. Сортируем массив по свойству Z. Присваиваем каждому ребёнку глубину.
Теперь с использованием фильтров:

Как видно, всё просто до простоты. Если захотите проверить вставьте этот код в Flash iDE и скомпилируйте.
Ваш, Flastar'чег!)
![Флэш Потрошитель - Флэш & Флекс, rost[ухо]flash-ripper.com](/sites/all/themes/fripper/logo.png)