Archive for the ‘ActionScript 3.0’ Category
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, Gumbo, Mаразмы нашего городка, flex framework, mxml | 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 | No Comments »
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 | 6 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;
}
}
}
Скомпилированый пример:
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 »
Monday, June 22nd, 2009
Все наверное слышали и знают о 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 в скиновании.
Удачи!
Posted in ActionScript 3.0, Effective work, Flex, Skinning, flex framework | 5 Comments »