Вопрос: приложения для Facebook

Назрела статья о работе с фейсбуком, так как материала на русском достаточно мало, понятного и того меньше.
Статья будет описывать всё от создания приложения в девелоперском разделе, до подключения с помощью PHP и работы с GraphAPI посредством AS3.

Ну и суть вопроса: кому-нибудь эта статья вообще нужна?

FDT 5: Бесплатная версия и цены

Сегодня стала доступна информация о том, что разработчики FDT переходят на новую модель продажи своего продукта.
Во-первых, версию FDT Pure и FDT Plus теперь заменит бесплатная версия FDT Free.
А, во-вторых, на версию Max цена установлена теперь в районе 499 евро (примерно 20 тыс. рублей).

Естественно самые вкусные вещи, такие как: рефакторинг перемещений, переименований, дебаггер, профайлер и launcher chain остаются в Max версии, но в целом новость радостная.
Хотя, возможно и то, что разработчики пересмотрят набор бесплатного функционала, и пользователи бесплатной версии получат как минимум хороший рефакторинг.

Обо всё подробнее можно почитать в официальном блоге.

Posted in Новости at Сентябрь 12, 2011. Комментариев нет.

Релиз CASALib 1.4.0

Запись для «слоупоков» вроде меня.
17 июня вышел «свежий» релиз замечательной библиотеки под названием CASALib, что содержит достаточное количество, необходимых для работы разработчиков, классов, которые существенно облегчают разработку.

Из основных особенностей хочу выделить:

  1. Класс ListenerManager, что позволяет быстро и просто добавить к любому классу наследуемому от EventDispatcher возможности удаления всех слушателей, удаления слушателей для определенно типа события, и т.д.
  2. Удобные классы загрузки любых данных
  3. Готовые шаблоны для создания классов с деструкторами
  4. Классы дисплей-объектов (CasaSprite, CasaMovieClip), в функционал которых вложены функции удаления всех детей, из уничтожения (+ чудесная плюшка — рекурсивное удаление и деструкция)

В целом крайне полезная библиотека, на её основе собственно базируется всё, что я пишу.

Posted in Записки at Сентябрь 6, 2011. Комментариев нет.

Получение данных из XML (E4X)

Как показывает практика, далеко не все знают об использовании оператора «..» и фильтрации при работе с XML. Для этого существуют очень удобные средства E4X (ECMAScript for XML)

Оператор «..»

Данный оператор позволяет получать данные потомков дерева XML вне зависимости от глубины их нахождения.

На примере:
У нас есть категоризованный список продуктов:

<food>
 <vegetables>
   <item caloric="2" isDietic="true">tomato</item>
   <item caloric="40" isDietic="false">potato</item>
 </vegetables>
 <fruits>
   <item caloric="4" isDietic="true">orange</item>
   <item caloric="26" isDietic="false">apple</item>
 </fruits>
</food>

Нам необходимо получить полностью все продукты вне зависимости от их категории:

var foodItems : XMLList = xml..item;
for each (var item : XML in foodItems) {
  trace(item.toString());
}

На выходе получим:

tomato
potato
orange
apple

Read More…

Posted in Flash, Actionscript 3 at Сентябрь 6, 2011. Комментариев нет.

Передача параметров во flashVars приложений ВКонтакте

Во время работы у меня возникла необходимость передать приложению ВКонтакте кастомные flashVars, а именно url откуда грузить данные, чтобы была возможность поменять при желании ссылку, а собирать iframe не хотелось для этой задачи (времени было мало), плюс были некоторые ограничения.

Нашел довольно простой выход:

В настройках приложения в поле «Первый запрос к API» пишем что-нибудь вроде:

method=execute&code=
var url = "http://dataserver.com/config.xml";
return {configURL: url};

В итоге во flashVars получим параметр под именем «api_result» с xml следующего содержания:

<response>
 <configURL>http://dataserver.com/config.xml</configURL>
</response>
Posted in Социальное at Август 30, 2011. Комментариев нет.

Сброс letterSpacing при изменении текста

Столкнулся с багом когда при изменении текста у текстового поля, сбрасывается установленный letterSpacing.
Лечение:

var textFormat : TextFormat = textField.getTextFormat();
textField.text = "New text";
textField.setTextFormat(textFormat);

Не особо красивое решение, но и баг не красавец.

Posted in Flash, Actionscript 3 at Июль 4, 2011. 2 комментария.

Быстрое внедрение шрифтов [Embed]

Уже ни раз писалось о встраивании шрифтов, поэтому я не буду описывать весь процесс а покажу лишь простой и удобный прием на примере кода.

package assets {
	import flash.display.Sprite;
	import flash.system.Security;
	import flash.text.Font;
	import flash.utils.describeType;
 
	public class FontsAsset extends Sprite {
		[Embed(source="../../../res/fonts/MyriadPro-Semibold.otf", mimeType="application/x-font-truetype", fontName="MyriadSemibold", unicodeRange="U+0020-U+002F,U+0030-U+0039,U+003A-U+0040,U+0041-U+005A,U+005B-U+0060,U+0061-U+007A,U+007B-U+007E,U+02C6,U+02DC,U+2013-U+2014,U+2018-U+201A,U+201C-U+201E,U+2020-U+2022,U+2026,U+2030,U+2039-U+203A,U+20AC,U+2122,U+0401,U+0410-U+044F", embedAsCFF="false")]
		// Uppercase [A..Z] ; Lowercase [a..z] ; Numerals [0..9] ; Punctuation [!@#%...] ; Basic Latin ; chars="АБВГДЕЁЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯабвгдеёжзийклмнопрстуфхцчшщъыьэюя"
		public static var MyriadSemibold : Class;
 
		[Embed(source="../../../res/fonts/MyriadPro-Regular.otf", mimeType="application/x-font-truetype", fontName="MyriadRegular", unicodeRange="U+0020-U+002F,U+0030-U+0039,U+003A-U+0040,U+0041-U+005A,U+005B-U+0060,U+0061-U+007A,U+007B-U+007E,U+02C6,U+02DC,U+2013-U+2014,U+2018-U+201A,U+201C-U+201E,U+2020-U+2022,U+2026,U+2030,U+2039-U+203A,U+20AC,U+2122,U+0401,U+0410-U+044F", embedAsCFF="false")]
		// Uppercase [A..Z] ; Lowercase [a..z] ; Numerals [0..9] ; Punctuation [!@#%...] ; Basic Latin ; chars="АБВГДЕЁЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯабвгдеёжзийклмнопрстуфхцчшщъыьэюя"
		public static var MyriadRegular : Class;
 
		public function FontsAsset() {
			Security.allowDomain("*");
			var xml : XML = describeType(this);
			for (var i : uint = 0; i < XMLList(xml["variable"]).length(); i++) {
				Font.registerFont(this[XMLList(xml["variable"])[i].@name]);
			}
		}
	}
}

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

new FontsAsset();

Конечно не стоит забывать о использовании textField.embedFonts.

Так же вы можете скомпилировать этот asset как отдельный swf и свободно подгружать его при необходимости.

Метод позаимствован (а потом модифицирован) у Font Library Creator’a среды разработки Powerflasher FDT.

Утечки памяти и их устранение

Запись была переработана и обновлена.

1. Введение

Многие начинающие флэшеры, как и я в свое время, не имеют представления об освобождении памяти от использованных, либо недооценивают данный раздел программирования.
В ходе разработки приложений объекты, которые были использованы и более не являются необходимыми в большинстве случаев остаются в памяти, если не позаботиться об их уничтожении. Оставаясь в памяти «мусор» может вызвать проблемы с производительностью, что для конечного пользователя не окажется радостным событием.
В данной статье раскрываются методы очистки памяти от «мусора».

Read More…

Из ответов free-lance.ru

«Работа с аpi VK около 2 лет.»

Posted in Юмор at Март 29, 2011. Комментариев нет.

ВКонтакте и бонусы за приглашенных друзей

Достаточно часто вижу жалобы разработчиков, на тему запрета от ВКонтакте поощрений за приглашения друзей, и поэтому решил написать эту заметку.

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

  1. определенные игровые итемы можно получить только от друзей
  2. друзья раз в сутки могут присылать итемы которые дают энергию (или её аналог)
  3. друзей можно нанимать в качестве помощников, что будет приносить бонусы

и т.д.

Все эти способы не противоречат правилам.

Posted in Социальное at Март 29, 2011. Комментариев нет.