Archive for the ‘ActionScript 3.0’ Category

Чем полезен UAFPUG чат, или как легко сделать стилируемый компонент во флеше

Thursday, March 27th, 2008

Чат UAFPUG очень полезен в своей сути, там кроме множества интересного флейма проскакивает множество интересного НЕ флейма.

Сегодня была дана краткая инструкция как написать свой компонент, который использует стандартный механизм стилирования от Адоба, лог чата:

[13:36:48] Ilja Panin говорит: ну просто реализация харнителя стилев + базовые методы не сильно сложно, но их нужно делать а перед этим подумать хоршо
или хорошо почитать про флеш калссы )
[13:38:37] Rostislav Siryk говорит: Да, Илюха, ты прав. Но учти, что во флэше скинование уже поодерживается, так что я тебе настоятельно рекомендую fl.managers.StyleManager
Он за стили отвечает.
[13:39:31] denis sheremetov говорит: Всем привет, со старта давайте разберемся со скинированием
// … тут долгий спор о том что всетаки есть флешовый UIComponent

[13:41:02] denis sheremetov говорит: c:\Program Files (x86)\Adobe\Adobe Flash CS3\en\Configuration\Component Source\ActionScript 3.0\User Interface\fl\core\UIComponent.as
типа такой кординаты
итого, наследуешься от него
описываешь стили в статической проперти типа:
private static var defaultStyles:Object = {
backgroundSkin:"Volume_background",
foregroundSkin:"Volume_foreground"
};

декларируешь тамже
public static function getStyleDefinition():Object {
return defaultStyles;
}

дальше по ситуации:
override protected function configUI():void {}
для конфигурирования изначально
protected override function draw(): void {} - для отрисовки
тока!
в конце draw() обязательно super.draw()
а в самом draw() пользовать продвинутые методики типа

[code lang=”ActionScript”]
if(isInvalid(InvalidationType.STYLES)) {
var old : DisplayObject = _background;
_background = getDisplayObjectInstance(getStyleValue(“backgroundSkin”));
addChild(_background);
if(old != null && old != _background) {
removeChild(old);
}
[/code]

фсё, теперь конфигуришь внешние мувики, которые составляют суть скина

ну и как всегда не все оказывается так просто как хочется

[13:55:46] denis sheremetov говорит: кстати, походу вопрос, может кто сталкивался: вот этот самый isInvalid(InvalidationType.STYLES), сцуко непонятным и непрогнозируемым образом возникает
т.е. невсегда когда реально меняются стили
потому потери в производительности на перерисовках, там где они не нужны

Вы прослушали краткую историю как создать компонент во флеше с собственными стилями, спасибо еще раз Денису за такой краткий и полезный план действий!



FDT 3.0 Enterprise или разочарование сезона

Thursday, March 27th, 2008

Вчера была выпущен в свет FDT 3.0 Enterprise. Подробности можно посмотреть на сайте производителя.

Для меня данный релиз стал разочарованием сезона. В данной версии отсутствует редактор MXML кода, хотя его обещали. В добавленные плюшки входят лиш :

Support
One very important part of the Enterprise version is support. As we know, support is a core feature for companies when they decide to use a new program – we now provide immediate support. Furthermore, we offer trainings and workshops at a reasonable price, which allow you to get first class hands-on training from our Powerflasher-FDT experts.

Debugger
For debugging purposes FDT is going to integrate the Flex SDK Debugger into the Eclipse Debug Perspective. This will allow you debugging ways as you know them from JDT and Flex Builder.

Advanced Refactoring
Advanced Refactoring will add common refactoring tools like Change Method Signature, Move, Extract Interface, Extract Method to the FDT Editor.

Дебагер это конешно хорошо, но это все только для Flash|ActionScript проектов.

А расстроился я потому, что мне, как флекс разработчику эта тулза совсем бесполезна. А учитывая ее стоимость (599 евро|1012 долларов США|4542 гривен| 24106 рублей) становиться совсем печально(. Незнаю чем они думаю, но я останусь верен флекс билдеру, надеясь что адоб таки соизволит позаботиться об удобстве разработчиков, а не создании разной функциональности для галочки.

И вообще дайте мне команду вменяемых ява-девелоперов (этак человек 5-8), денег и через год я переверну это мир! Или просто небольшой институт по исследованию центральной нервной системы человека и я создам матрицу.



Как самому отлавливать биндабл значения простым способом

Monday, March 17th, 2008

Сегодня мне задали вопрос:

как самому отлавливать биндабл значения простым способом, я ставлю проперти в биндабл и юзаю его в mxml. а теперь я хочу сам подписаться чтобы тоже получать извещение о новом значении

Я не забыл ответить сразу и человек ушел в оффлан. Думаю этот пример будет полезен всем ).
В кратце — ловим эвент, смотрим, что внутри, биндим в мхмл наше значение чтобы было все почесному.
Важно перед употреблением прочесть хелп по метатегу [Bindable] иPropertyChangeEvent

creationComplete="init()"
layout="vertical">

click="{testBinding = Math.random().toString()}"/>

public var testBinding : String;

public function init()
{
addEventListener(PropertyChangeEvent.PROPERTY_CHANGE, propertyChangeEventHandler);
}

public function propertyChangeEventHandler( event:PropertyChangeEvent ) : void
{
eventsLog.text +=”\n\nPropertyChangeEvent {”
+”\n type : “+event.type
+’,\n property : ‘+event.property
+’,\n kind : ‘+event.kind
+”,\n newValue : “+event.newValue
+”,\n oldValue : “+event.oldValue +’}’;
}
]]>



Kill Bill Browser.

Monday, February 18th, 2008

Простецкий способ убить браузер АС3 кодом, вставляем-вызываем:


public function ups() : void
{
var arr:Array = [1,2,3];
for (var i:int=0; i
{
arr.push(arr[i]);
}
}

Из кода все понятно, что и почему.
Валит ФФ и ИЕ на раз-два :).
На очень слабых машинах скажет, что

A script has executed for longer than the default timeout period of 15 seconds

Но на быстрых машинах за дефолтные 60 секунд успеет сделать свое дело…

И еще, строка timeout period of 15 seconds насколько видно из работы просто захардкоджена во флекс дебагер т.к. число 15 вообще берется почти с потолка и не зависит от выставленого во флешке максимального времени втыкания.



Свободные знания в массы

Wednesday, February 13th, 2008

http://knowfree.net/ — ресурс где можно найти множество книг по программированию в том числе и на flash|flex.
В день добавляют по 3-7 новых книг, естественно все книги на языке оригинала )

одно из последних обновлений:

null

Интересно когда у нас будут печатать подобные книги?

На ссылку навел 7thsky.




]]> rss о RIA от 33 Коровы
Забадать RSS!
]]>
~~~~~~