|
|
|||||
Регистрация: Jun 2007
Сообщений: 374
|
MXML синтаксис
Возможно ли использовать MXML синтаксис в флэшовом проекте, при этом не используя флексовский фреймворк?
Что-то мне подсказывает, что возможно, но никак не могу понять, с чего начать. Вот что я хочу сделать для начала: создать MXML-компонент на основе fl.core.UIComponent с парой чилдренов flash.display.Sprite и как-нибудь его использовать в as-файле основного проекта. Работаю во FlashDevelop. Подскажите, как провернуть подобное? |
|
|||||
Modus ponens
|
о.О
Чего? Зачем? В смысле, нет, без SDK ничего вы не скомпилируете из MXML, И смысла описивать в MXML флешевые компоненты ровно 0.0001% Что да логично сделать, так это взять свои компоненты специально заточеные под то, что они будут использованы с MXML синтаксисом и использовать именно их... Примеры - Mate, Degrafa.
__________________
Hell is the possibility of sanity |
|
|||||
Регистрация: Jun 2007
Сообщений: 374
|
Цитата:
Вот такая штука прекрасно компилируется: Только тут 2 проблемы: - как подцепить этот компонент в главном as-классе; - как настроить autoComplete во FlashDevelop для кастомных MXML компонент. Смысл всего этого - удобство. Несколько проще писать: чем К тому же флэшовые компоненты очень мало весят и работают быстрее флексовских. Для некоторых проектов лучше их использовать, если нужны только ScrollPane и TileList, например. Последний раз редактировалось s8000_1; 15.02.2009 в 03:59. |
|
|||||
Modus ponens
|
Ну так это ж MXMLC компилирует а не Флеш...
На счет настройки ФД для автокомплита MXML компонентов - читай тут: http://www.flashdevelop.org/communit...php?f=9&t=3776 Но если чесно, я запарился... легче руками вписать >> как подцепить этот компонент в главном as-классе; MXML компонент == AS класс. имя файла компонента == имя класса. ИМО Флешевые компоненты ни два ни полтора... они и не спупер легкие, и не бог весть какие навороченые... да и работают абсолютно ни разу не быстрее флексовых... вобщем, не знаю, я ни одому из них применения не нашел Уже либо Флексовые, либо полностью свои
__________________
Hell is the possibility of sanity Последний раз редактировалось wvxvw; 15.02.2009 в 04:16. |
|
|||||
Регистрация: Jun 2007
Сообщений: 374
|
Цитата:
+ не в курсе, в FDT автокомплиты для MXML нормально работают или там примерно то же самое? Цитата:
Хотя это уже вопрос религии на самом деле ) |
|
|||||
Modus ponens
|
Не... он на работе в каком-то недособраном состоянии но, надо бы как-то собраться с силами и все-таки это сделать...
И это ФДТ вообще никак не работает с MXML, так что выбор только ФД <-> ФБ. А в смысле веса - у меня подход такой, опять же... если вес принципиально - то вообще ни о каких левых компонентах речь не идет... но, положа руку на сердце... 300К это 3 JPEG'а средних размеров... ну прям таки... можно подумать, что так уж много Кроме того, меня в последнем проекте достали - дизайнер сделал прелоадер, а страница грузилась очень быстро - пришлось просто воткнуть анимацию...
__________________
Hell is the possibility of sanity |
|
|||||
Регистрация: Jul 2006
Сообщений: 170
|
http://fdt.powerflasher.com/blog/?p=316 - FDT + MXML )
|
|
|||||
Flash Aксакал
Регистрация: Jun 2005
Сообщений: 636
|
Не будет работать. компилятор завязан на фрэймворке флекса. фактически все что не от mx.core.IUIComponent - не расценивается как визуальный класс.
<?xml version="1.0" encoding="utf-8"?> <fl:Sprite xmlns:fl="flash.display.*"> <fl:Sprite id="superDuperChild" width="300" height="400"> </fl:Sprite> </fl:Sprite> package { import flash.display.*; import mx.events.*; public class test extends Sprite { private var _112842603superDuperChild:Sprite; public function test() { _test_Sprite2_i(); return; }// end function public function set superDuperChild(param1:Sprite) : void { var _loc_2:* = this._112842603superDuperChild; if (_loc_2 !== param1){ this._112842603superDuperChild = param1; this.dispatchEvent(PropertyChangeEvent.createUpdateEvent(this, "superDuperChild", _loc_2, param1)); }// end if return; }// end function private function _test_Sprite2_i() : Sprite { var _loc_1:* = new Sprite(); superDuperChild = _loc_1; _loc_1.width = 300; _loc_1.height = 400; return _loc_1; }// end function public function get superDuperChild() : Sprite { return this._112842603superDuperChild; }// end function } } |
|
|||||
Modus ponens
|
Не, не совсем так... что правда - биндинг _флексовый_ не будет работать, но это отнюдь не значит, что нельзя свой сделать, аналогично и со стилями и стейтами и т.п. На компайлер там не так много завязано...
Т.е., что правда, то правда, если идти по такому пути, то самому прийдеться очень много чего дописывать / допридумывать, но, с другой стороны, если есть желание - почему бы и нет?
__________________
Hell is the possibility of sanity |
|
|||||
4AM Games
|
Цитата:
По этой же причине нельзя делать вложеные IMXMLObject инстансы. Добавлено через 6 минут Кстати в свое время я тоже задумался над этой проблемой, и пришел к использованию мета тегов, например: Был аналогичен коду public var button:MyButton; public function someFunction():void { button = addChild(new Button) as Button; button.x = 50; button.y = 50; button.width = 100; } Добавлено через 8 минут Цитата:
__________________
Я перестал переписывать, начал редактировать, еще лет 15 и я стану писателем ^_^ Последний раз редактировалось Nirth; 28.03.2009 в 23:10. |
Часовой пояс GMT +4, время: 01:23. |
|
« Предыдущая тема | Следующая тема » |
|
|