войти зарегистрироваться

Flash-платформаЯзык Enums для AS3 и JavaScript


Одно из первых языковых расширений Realaxy Editor. В публичной бете вся эта красота еще генерируется в javascript и можно использовать в html/js разработке.

Персональные блоги Игра «Tetris Online»

До недавнего времени я, вместе со своим коллегой ZevsDark занимались интересным проектом «Tetris Online». Игра уже близилась к стадии публичного тестирования, но жизнь распорядилась иначе и мы забросили работу.
Под катом информация по использованному нами фреймворку, история игры, а также ссылка на получившуюся поделку.

Flash-платформаКак защититься от SWF-декомпиляторов из песочницы

У меня в последнее время с завидной частотой спрашивают: «Как защитить данные, летающие между Flash Player и сервером?». Вместо ответа я предлагал прочитать любые книжки по криптографии, а от сильно наглых отбивался следующим кодом.

var myAge:Number = 23; //Ключ
var someTextToEncode:String = 'Sometext, or xml, or anything else'; //Текст для шифрования
var arr:Array = new Array();
var l:Number = someTextToEncode.length;
var encodedText:String = '';
for (var i:Number = 0; i< l; i++){
encodedText += String.fromCharCode(someTextToEncode.charCodeAt(i) + myAge); //Шифруем методом сдвига позиции кода символа. Просто и со вкусом. 90% "хакеров" на этом этапе уже отсеятся.
}
post(encodedText); //Метод, посылающий шифрованные данные на сервер


И от меня отвязывались, копипастя код. И всё у меня было хорошо, до тех пор, пока один из любопытных не спросил: «А как же защитить ключ? Ведь любую флешку можно утащить с сайта и декомпилировать!»

Способ, как оказалось, очень прост и не требует наличия никаких обфускаторов. Речь пойдёт о стендалон-флешках, скомпилированных одним файлом.

Ненормальное программированиеОнлайн-фотостудия своими руками

Этот материал не ставит перед собой цели разжечь священную войну между людьми, которые считают, что на AS3 можно делать только мультимедийные штуки, и людьми, которых AS3 полностью устраивает. Скорее, это пост о том, как единая среда разработки может сэкономить время.

image

Сама мысль делать сервер на основе Adobe AIR и AS 3.0 можешь показаться кошмарной, но когда перед тобой стоит задача сделать не просто сайт, а целую платформу для создания фотографий, их хранения (во вселенских масштабах), общения людей и, что самое ужасное, для онлайн-управление роботами, то овчинка стоит выделки.

Итак, проект Touch Z-Distance (стартовал 1 сентября, работает до 15 октября). Задача — собрать фотостудию, в которой можно было бы фотографировать моделей через интернет, с помощью роботов, оснащенных камерами. Подобная студия запускается впервые. Что потребовалось для того, чтобы запустить этот амбициозный проект?

Flash-платформаСравнение операторов доступа к полям объектов

Одной из клёвых особенностей AS3 (а ещё AS2 и JS) является возможность динамического доступа к полям любых объектов. Это приводит к созданию более «динамичного» кода, так как вам не нужно знать о существовании полей во время компиляции. Эта возможность, как и другие возможности динамических языков, может значительно повлиять на производительность приложения. Сегодня мы рассмотрим примеры, в которых будет показано, на сколько «медленным» является динамический доступ к полям.

Game DevelopmentFun Da Vinci

image

Вот с чего все началось, а вот к чему мы пришли. Мы многое поменяли, собрали устойчивую команду, и получили опыт продажи игры, всем этим мы поделимся с тобой %Username%. Интересно? Добро пожаловать под кат.

Flash-платформаКопирование объектов с помощью ByteArray

Копирование простых объектов


Чаще всего ByteArray используют для копирования объектов. AMF сериализатор и десериализатор (не люблю эти слова, но не нашёл подходящего перевода) доступен через ByteArray API. Для дублирования объектов с помощью ByteArray мы будем использовать методы writeObject и readObject:

// Создаём пустой ByteArray
var stream:ByteArray = new ByteArray();
// Создаём объект
var parameters:Object = { age : 25, name : "Bob" };
// «Переводим» объект в формат AMF и сохраняем его в ByteArray
stream.writeObject( parameters );
// Сбрасываем позицию
stream.position = 0;
// Считываем объект
var objectCopy:Object = stream.readObject();

Flash-платформа Оптимизация свободного места: откажитесь от PNG

Представим себе вполне ординарную, рутинную задачу: наше приложение должно загружать внешние картинки, они должны иметь прозрачный фон, и дальше мы уже будем выполнять над ними какие-то действия.

Зачастую мы без лишних раздумий говорим что это должно быть только png, после чего дизайнеры готовят для вашего приложения тысячи файлов контента, которые резко заполняют свободное место на серверах. Но что если поставят задачу оптимизировать использование дискового пространства?

Flash-платформа10 вещей, которые должен знать каждый Senior Flash Developer

Я собеседовал нескольких Flash/Flex разработчиков в качестве потенциальных сотрудников Roundarch. Для меня, самой сложной частью собеседования было понять, какие именно вопросы задавать, чтобы оценить уровень Flash-разработчика. Поэтому, я создал этот список. Этот список позволяет мне оценить уровень и опыт разработчика, которого я собеседую.

Если вы ещё не достигли уровня «Senior-developer», то прочитайте список и изучите информацию по ссылкам из него. Если вы посчитаете этот список устаревшим, то, пожалуйста, критикуйте его и расскажите о других ссылках в комментариях.