Monthly Archive for January, 2009

Прозрачные PNG и мышь

Хороший эксперимент на заметку. Класс, который позволяет ловить события мыши только непрозрачными частями PNG картинки.

Хелп по AS3 на iPhone

Mike Chambers опубликовал очень интересную вещичку — руководство по AS3 для iPhone. Пора повторять гемор с перепрошивкой уже на 2.2 ибо на 2.0 оно не идет.

onEnterFrame.ru #6

Интервью с Вадимом “Badim” Старыгиным ( http://blog.elite-games.net ) про флэш игры.

Audio clip: Adobe Flash Player (version 9 or above) is required to play this audio clip. Download the latest version here. You also need to have JavaScript enabled in your browser.

Скачать

Торенты

Tracker for ‘Adobe CS4 Master Collection’ returned warning ‘Closed by copyright holder’

На torrents.ru давят? Но скачать я успел.

Переворачивая страницы

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

Как говорится, век живи — век учись!

Update. Ух ты, а тут их столько и в одном месте. Класс!

Google Analytics

А как просто оказывается использовать Google Analytics во флэш проекте/приложении/виджете. Завтра испытываю.

onEnterFrame.ru #5

Первый посленовогодний выпуск подкаста. На этот раз темы следующие:

  • Новый год, новые перспективы
  • Немного о кризисе, банкротстве Circuit City и Обаме
  • Как 20го числа умер CS4
  • Фреймворк, Parsley, Spring Actionscript (ex-Prana), IoC, DI, MVC, AOP и другие страшные слова
  • AsUnit и асинхронные тесты
  • TheFWA и ecodazoo.com
  • TheFWA и книжка
  • TheFWA и valyard.ru
  • С кем дальше записывать подкасты?

Ссылки по теме:

Audio clip: Adobe Flash Player (version 9 or above) is required to play this audio clip. Download the latest version here. You also need to have JavaScript enabled in your browser.

Скачать

AsUnit и асинхронные тесты

Какое-то время назад я сделал одну штучку и захотел погонять ее по тестам. Штучка такая — некоторый набор состояний с переходами, которые при смене состояний во время выполнения перехода откатываются до предыдущего ( или нескольких предыдущих ).

Наткнулся на кучу проблем с асинхронными тестами. Все, что я пробовал, предлагало хороший функционал для синхронных тестов, а вот с асинхронными тестами было как-то грустно. Под асинхронностью, например в AsUnit ( там есть специальный класс для этого ), понимается, что сначала я асинхронно гружу какие-то данные для работы класса, а потом провожу обычные синхронные тесты.

И только в каком-то заросшем паутиной уголке интернета мне показали вот такой примерчик:

public class AsyncTest extends TestCase
{

public function AsyncTest(testMethod:String=null)
{
super(testMethod);
}

public function test(): void
{
var handler:Function = function(event:Event):void {
assertTrue( true );
}

var t: Timer = new Timer(1000, 1);
t.addEventListener( TimerEvent.TIMER_COMPLETE, addAsync(handler, 2000) );
t.start();

}

}

А именно addAsync(handler, 2000)

FrameworkQuest

Отличный цикл статей на InsideRIA под общим названием FrameworkQuest. Рекомендую к прочтению тем, кто не знает чем отличается IoC ot PureMVC и чем закусывать Cairngorm. Чрезвычайно интересно. И не только флексерам.

Aspect Oriented Programming

Изучая документацию по Spring, наткнулся на реализацию концепции AOP. Об этой парадигме мне когда-то что-то рассказывали, но я особо этому значению не придал. Сейчас же, прочитав достаточно информации, я немножко вдохновился и стал смотреть что по этому поводу предлагает ActionScript.

А оказалось, что ничего.

An issue right now is that you can’t let an object implement an interface or a set of interfaces at runtime.

ActionScript would really benefit from having a dynamic proxy mechanism, similar to the Proxy class in Java: http://java.sun.com/javase/6/docs/api/java/lang/reflect/Proxy.html

This could be used for several interesting and powerful new concepts:
- adding new behavior to an object by proxying it with extra interfaces
- mock objects for unit testing
- Aspect Oriented Programming
- …

Если в ActionScript 2 и тем более в 1 мы могли переопределять методы объектов, сохраняя старые, то здесь такой трюк уже не проходит. А жаль.