Flash Builder 4 и генерация геттеров/сеттеров или как это сделать “Супер удобно”

September 8, 2009 – 12:01 am

В Flash Builder появилась созможность генерации геттера/сеттера для переменной.

Адоб просто бъет все рекорды по “адобству” использования.

чтобы сгенерить геттер/сеттер нужно набрать объявление переменной, ее тип, наводим курсор на набраный текст и тут 2 варианта:

  1. Главное меню -> Source -> Generate Getter/Setter…
  2. Правой кнопкой мыши-> Source -> Generate Getter/Setter…

И появляется оно — окошко генерации:

Flash Builder 4: Generate getter/setter window

Лично я не представляю как можно было извратить простую идею генерации небольшого кусочка кода. Вот скажите, зачем мне нужно каждый раз это окошко? Мало того что там несколько полей и галочек, так Flash Builder 4 еще ничего и не запоминает. И каждый раз мне нужно делать одни и те же действия (я предпочитаю вставлять геттеры/сеттеры прям на месте).
А еще мне нравится кнопка превью, наверное человек делавший этот функционал считает, что перед вставкой геттера/сеттера нужно хорошо настроиться, подготовиться, обдумать свое действие и только после этого его выполнить.
Лучше бы сделали темплит кода для этой процедуры (я не говорю даже о глобальном функционале).

Также после перехода на Flash Builder 4 меня подстерегла глобальная засада — изменили коди иерархию объектов в плагине билдера и мои Eclipse Monkey скрипты перестали работать(. Нужно заново изучать чего они натворили и переписывать.

Я все чаще и чаще задумывають над тем чтобы перехать на IDEA. )

Ну и в качестве бонуса:
Главное меню -> Window -> Preferences -> General -> Keys, в фильтр вбиваем Getter выбираем Generate Getter/Setter, кликаем в поле Binding и жмем свою заветную комбинацию клавиш по которой будет вызыватся окошко генерации геттера/сеттера.

Bookmark and Share

Flex Data Binding в чистом AS3 проекте

September 6, 2009 – 6:23 pm

Все “знают” или покрайней мере слышали, что флексовый байндинг не работает в ActionScript 3 проектах, или слышали что он работает, но при этом занимает много места. Из за этого было написано, некоторое количество велосипедов(не мной — другими людьми, если поискать то решения 3 точно можно найти).

Но стороние решения — это плохо, у нас теряется связь с flex проектами.

Года полтора назад передомной встала задача, использовать одни и теже классы в AS3 проекте и во flex проекте, а т.к. большая часть этих классов была обычными байндабл VO, то приходилось в AS3 проекте просто вырезать метатег [Bindable] или попросту делать клонов нужных VO. Благо проект был совсем небольшим и на эти неудобства можно было закрыть глаза.

На днях я таки решил снова попробовать подключить байндинг в AS3 проект, все получилось и на радость мне все оказалось очень хорошо — flexframework доработали и убрали лишние зависимости, теперь флешка с включенным байндингом занимает около 5 кб (релиз версия)!

вот простой пример кода:

package {
	import flash.display.Sprite;
	import flash.display.StageAlign;
	import flash.display.StageScaleMode;
	import flash.events.MouseEvent;
 
	import mx.binding.utils.BindingUtils;
 
	[SWF(backgroundColor="#ffffff")]
	public class DataBindingSample extends Sprite
	{
		[Bindable]
		public var stageY:Number = 0;
		[Bindable]
		public var stageX:Number = 0;
 
		private var circle:Sprite;
 
		public function DataBindingSample()
		{
			stage.scaleMode = StageScaleMode.NO_SCALE;
            stage.align = StageAlign.TOP_LEFT;
 
			circle = new Sprite();
			circle.graphics.beginFill(0x55aaFF,1);
			circle.graphics.drawCircle(0,0,10);
			circle.graphics.endFill();
			addChild(circle);							
 
			BindingUtils.bindProperty(circle,"x", this, "stageX");
			BindingUtils.bindProperty(circle,"y", this, "stageY");
 
			stage.addEventListener(MouseEvent.MOUSE_MOVE, changePosition);
 
		}
 
		protected function changePosition(event: MouseEvent): void
		{
			stageX = event.stageX;
			stageY = event.stageY;
		}
 
	}
}

Скомпилированый пример:

Flex Data Binding in AS3 project sample. You need to install adobe flash player 10 to view this content

Всем удачного кодирования!

Bookmark and Share

Производительность и Flex Component Kit

June 22, 2009 – 6:32 am

Все наверное слышали и знают о Flex Component Kit для Flash CS3 и о том как его использовать его для скинования.

В кратце действия очень простые — вашим клипам которые вы желаете использовать в качестве скина данный экстеншин проставляет базовым классом mx.flash.UIMovieClip, который “почти как” UIComponent.

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

public function UIMovieClip(){
            validateMeasuredSizeFlag = true;
            _measuredMinHeight = 0;
            _measuredMinWidth = 0;
...........
            super();
            addEventListener(Event.ENTER_FRAME, enterFrameHandler, false, 0, true);
        }

т.е. он всегда(!) подписан и слушает событие Event.ENTER_FRAME и метод обрабатывающий его довольно “большой”. А это уже прямое покушение на производительность — несколько таких скинов еще нормально, а вот сильно заскиновнное приложение может пострадать. На чем я и попался, выставил скин для редереров в чартинге.

Так что будте осторожны при использовании Flex Component Kit в скиновании.

Удачи!

Bookmark and Share

Skyfire – мобильный браузер с поддержкой Flash 10!

June 16, 2009 – 1:18 pm

Вышел Skyfire мобильный браузер с поддержкой большинства фич web 2.0

Browse your favorite websites on Skyfire exactly like you do on your PC. No compromises! We’re the only mobile browser to support all major Web 2.0 standards – Ajax, Javascript, Flash 10 – it just works.

И про Ajax, Javascript, Flash 10 они совершенно не врут я попробовал несколько сайтов писаных на ActionScript 3.0 для flashplayer9|10 и они работают! Работает видео, работают флекс приложения!

Я даже запустил демки Alternativa3d ! и они идут.  Правда тормоза отличные )

Встретились и проблемы с позиционированием курсора (в некоторых случаях) если говорить о flash.

А так я считаю что это супер прорыв. Всем качать ставить на мобилки и смотреть!

Bookmark and Share

Контрастный текст на фоне произвольного цвета

May 10, 2009 – 4:11 pm

Недавно встала задача найти алгоритм как сделать контрастный текст на фоне произвольного цвета.

В начале я поэксперементировал с HSL и HSB представлением цвета. Для HSB я нашел алгорим на ActionScript 1, экспортнул его, но он оказался глючным. Поискав далее я нашел класс HSBColor от Adobe на ActionScript3. Его нет в 3 flexframework и как я понимаю это запчасть от Gumbo (Flex 4). Работает он хорошо, но не решает нужной мне задачи: в синих оттенках текст не контрастный.

Затем в чате UAFPUG мне посоветовал Nicolas Prof пример от Lee Brimelow, пример работал отлично, но был написан на ActionScript 2 и использовал класс ColorMatrix от Quasimondo. Я было уже совсем расстроился, но Татьяна Белая быстренько портнула класс ColorMatrix на ActionScript 3.0 и вместе с ним пример.
Я немного изменил пример, можно полистать, как по мне работает на отлично:

Пример контрастного текста отдельной страницей

Исходники по правой кнопке мыши или в архиве.
Удачи!

Bookmark and Share


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