Archive for the ‘ActionScript 3.0’ Category
Monday, November 12th, 2012
На UAFPUG-40 я рассказал немного о Mate и попытался описать как оно работает на принципиальном уровне.
Моя презентация на гуглдоках ( исходник презентации )
правда она не совсем понятна без моей озвучки :). Нужно было приходить на встречу!
и исходный код лунопарка
Советую посетить сайт Mate фреймворка для более подробной информации о тегах, посмотреть примеры кода.
Posted in ActionScript 3.0, Flex | Comments Off on UAFPUG-40. Материалы к моему докладу по Mate
Thursday, October 15th, 2009
UPD: баг пофиксили, испарвление будет в новой версии, УРА!
На днях пришла необходимость попробовать перенести библиотеки с flex sdk 3.2 на flex sdk 4. Заодно повтыкать в Flash Builder 4 и различные радости которые нам принес Gumbo.
Все было хорошо и ничто не предвещало беды ). После создания проекта компилятор сразу начал ругаться. “Почему бы и нет” – подумал я, ведь различия в сдк большие. Начал выяснять почему.
Первым сюрпризом было то, что он ругался на mxml класс, который обращался к AS классу лежащему в том же пакете. “Едить колотить, какая та лажа” – подумал я. И волевым движением руки добавил в mxml импорт, этого нужного класса.
Read the rest of this entry »
Posted in ActionScript 3.0, Flash Builder 4, Flex, flex framework, Gumbo, mxml, Mаразмы нашего городка | 3 Comments »
Sunday, October 4th, 2009
Год с хвостиком, назад Grant Skinner написал статью Source Code Licenses and Flash/Flex, а один человек(который Илья ALFer) начал ее переводить и потом просто забил на неё :). Я вместе с женой решили ее перевести до конца, итак ниже вольный перевод и немного фраз от меня :
Очень часто мы используем в своих проектах код который находим в сети. Если проект чисто для себя, то я думаю это простительно, но когда речь заходит проектах для “больших дядей” вопрос о том по какой лицензии распостраняетсья найденый нами код очень немаловажен. И может так случиться что мы просто не сможем использовать чей-то уже готовый и нам привычный код.
Read the rest of this entry »
Posted in ActionScript 3.0, Flash, Flex, Licenses | Comments Off on Source Code Licenses and Flash/Flex by Grant Skinner
Tuesday, September 8th, 2009
В Flash Builder появилась созможность генерации геттера/сеттера для переменной.
Адоб просто бъет все рекорды по “адобству” использования.
чтобы сгенерить геттер/сеттер нужно набрать объявление переменной, ее тип, наводим курсор на набраный текст и тут 2 варианта:
- Главное меню -> Source -> Generate Getter/Setter…
- Правой кнопкой мыши-> Source -> Generate Getter/Setter…
И появляется оно — окошко генерации:

Лично я не представляю как можно было извратить простую идею генерации небольшого кусочка кода. Вот скажите, зачем мне нужно каждый раз это окошко? Мало того что там несколько полей и галочек, так Flash Builder 4 еще ничего и не запоминает. И каждый раз мне нужно делать одни и те же действия (я предпочитаю вставлять геттеры/сеттеры прям на месте).
А еще мне нравится кнопка превью, наверное человек делавший этот функционал считает, что перед вставкой геттера/сеттера нужно хорошо настроиться, подготовиться, обдумать свое действие и только после этого его выполнить.
Лучше бы сделали темплит кода для этой процедуры (я не говорю даже о глобальном функционале).
Также после перехода на Flash Builder 4 меня подстерегла глобальная засада — изменили коди иерархию объектов в плагине билдера и мои Eclipse Monkey скрипты перестали работать(. Нужно заново изучать чего они натворили и переписывать.
Я все чаще и чаще задумывають над тем чтобы перехать на IDEA. )
Ну и в качестве бонуса:
Главное меню -> Window -> Preferences -> General -> Keys, в фильтр вбиваем Getter выбираем Generate Getter/Setter, кликаем в поле Binding и жмем свою заветную комбинацию клавиш по которой будет вызыватся окошко генерации геттера/сеттера.
Posted in ActionScript 3.0, Flash Builder 4, Flex Builder 3 | 7 Comments »
Sunday, September 6th, 2009
Все “знают” или покрайней мере слышали, что флексовый байндинг не работает в 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;
}
}
} |
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
Всем удачного кодирования!
Posted in ActionScript 3.0, Flex, Flex Builder 3, flex framework | 5 Comments »