States во Flex 4, снова баги

October 22, 2009 – 6:37 pm

Все в них хорошо.
Но не работает свойство basedOn ошибка опять в генерации кода, причем полностью лажевая — берут строку 2 раза в ковычки

basedOn=""parentStateName""

естественно потом он не ищется и стейт не работает, флеш ругается.
В jira знают про него SDK-23655 и уже пофиксили (ровно вчера).

К сожалению пока это мне никак не поможет, придеться ждать новой версии sdk4.

А вообще переезд на Flex 4, лично у меня, проходит со скрипом, практически каждое мое действие натыкается на какой-то баг или в Flash Builder 4 или в sdk. Счет пока в пользу sdk4, 3 бага —3 моих дня втыкания в пустоту.
Единственное, что радует он стал гораздо быстрее чем третий. Версии к 7 будет совсем хорошо. Прям как у Windows 7 :)

Удачи, и поменьше чужих багов.
ЗЫ кому интересно постоит баги в адоб, я могу поделится (пока один, но думаю на нем все не закончится)


Проблемы с Flash Builder 4 и Flex Library проектом

October 15, 2009 – 1:15 pm

UPD: баг пофиксили, испарвление будет в новой версии, УРА!

На днях пришла необходимость попробовать перенести библиотеки с flex sdk 3.2 на flex sdk 4.  Заодно повтыкать в Flash Builder 4 и различные радости которые нам принес Gumbo.

Все было хорошо и ничто не предвещало беды ). После создания проекта компилятор сразу начал ругаться. “Почему бы и нет” – подумал я, ведь различия в сдк большие. Начал выяснять почему.

Первым сюрпризом было то, что он ругался на mxml класс, который обращался к AS классу лежащему в том же пакете. “Едить колотить, какая та лажа” – подумал я. И волевым движением руки добавил в mxml импорт,  этого нужного класса.

Read the rest of this entry »


Source Code Licenses and Flash/Flex by Grant Skinner

October 4, 2009 – 6:08 pm

Год с хвостиком, назад Grant Skinner написал статью Source Code Licenses and Flash/Flex, а один человек(который Илья ALFer) начал ее переводить и потом просто забил на неё :). Я вместе с женой решили ее перевести до конца, итак ниже вольный перевод и немного фраз от меня :

Очень часто мы используем в своих проектах код который находим в сети. Если проект чисто для себя, то я думаю это простительно, но когда речь заходит проектах для “больших дядей” вопрос о том по какой лицензии распостраняетсья найденый нами код очень немаловажен. И может так случиться что мы просто не сможем использовать чей-то уже готовый и нам привычный код.

Read the rest of this entry »


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 и жмем свою заветную комбинацию клавиш по которой будет вызыватся окошко генерации геттера/сеттера.


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

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



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