Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Сообщения за день
 

Вернуться   Форум Flasher.ru > Flash > ActionScript 3.0

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 15.02.2009, 02:32
s8000_1 вне форума Посмотреть профиль Отправить личное сообщение для s8000_1 Найти все сообщения от s8000_1
  № 1  
Ответить с цитированием
s8000_1
 
Аватар для s8000_1

Регистрация: Jun 2007
Сообщений: 374
Question MXML синтаксис

Возможно ли использовать MXML синтаксис в флэшовом проекте, при этом не используя флексовский фреймворк?
Что-то мне подсказывает, что возможно, но никак не могу понять, с чего начать.

Вот что я хочу сделать для начала: создать MXML-компонент на основе fl.core.UIComponent с парой чилдренов flash.display.Sprite и как-нибудь его использовать в as-файле основного проекта. Работаю во FlashDevelop.
Подскажите, как провернуть подобное?

Старый 15.02.2009, 03:14
wvxvw вне форума Посмотреть профиль Отправить личное сообщение для wvxvw Найти все сообщения от wvxvw
  № 2  
Ответить с цитированием
wvxvw
Modus ponens
 
Аватар для wvxvw

модератор форума
Регистрация: Jul 2006
Адрес: #1=(list #1#)
Сообщений: 8,049
Записей в блоге: 38
о.О
Чего? Зачем? В смысле, нет, без SDK ничего вы не скомпилируете из MXML, И смысла описивать в MXML флешевые компоненты ровно 0.0001% Что да логично сделать, так это взять свои компоненты специально заточеные под то, что они будут использованы с MXML синтаксисом и использовать именно их... Примеры - Mate, Degrafa.
__________________
Hell is the possibility of sanity

Старый 15.02.2009, 03:53
s8000_1 вне форума Посмотреть профиль Отправить личное сообщение для s8000_1 Найти все сообщения от s8000_1
  № 3  
Ответить с цитированием
s8000_1
 
Аватар для s8000_1

Регистрация: Jun 2007
Сообщений: 374
Цитата:
Сообщение от wvxvw Посмотреть сообщение
о.О
Чего? Зачем? В смысле, нет, без SDK ничего вы не скомпилируете из MXML, И смысла описивать в MXML флешевые компоненты ровно 0.0001%
Почему не скомпилирую-то?

Вот такая штука прекрасно компилируется:
Код AS3:
<?xml version="1.0" encoding="utf-8"?>
<fl:Sprite xmlns:fl="flash.display.*">
</fl:Sprite>
Только тут 2 проблемы:
- как подцепить этот компонент в главном as-классе;
- как настроить autoComplete во FlashDevelop для кастомных MXML компонент.

Смысл всего этого - удобство. Несколько проще писать:
Код AS3:
<fl:Sprite width="500" height="400"/>
чем
Код AS3:
var spr:Sprite=new Sprite();
addChild(spr);
spr.width=500;
spr.height=500
К тому же флэшовые компоненты очень мало весят и работают быстрее флексовских. Для некоторых проектов лучше их использовать, если нужны только ScrollPane и TileList, например.


Последний раз редактировалось s8000_1; 15.02.2009 в 03:59.
Старый 15.02.2009, 04:13
wvxvw вне форума Посмотреть профиль Отправить личное сообщение для wvxvw Найти все сообщения от wvxvw
  № 4  
Ответить с цитированием
wvxvw
Modus ponens
 
Аватар для wvxvw

модератор форума
Регистрация: Jul 2006
Адрес: #1=(list #1#)
Сообщений: 8,049
Записей в блоге: 38
Ну так это ж 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.
Старый 15.02.2009, 04:40
s8000_1 вне форума Посмотреть профиль Отправить личное сообщение для s8000_1 Найти все сообщения от s8000_1
  № 5  
Ответить с цитированием
s8000_1
 
Аватар для s8000_1

Регистрация: Jun 2007
Сообщений: 374
Цитата:
Сообщение от wvxvw Посмотреть сообщение
http://www.flashdevelop.org/communit...php?f=9&t=3776
Но если чесно, я запарился... легче руками вписать
Мда... Ситуация во FlashDevelop с MXML плачевная. А есть ли у тебя уже скомпиленный MXMLCompletionBuilder? Хоть попробовать, что это такое.

+ не в курсе, в FDT автокомплиты для MXML нормально работают или там примерно то же самое?

Цитата:
ИМО Флешевые компоненты ни два ни полтора... они и не спупер легкие, и не бог весть какие навороченые... да и работают абсолютно ни разу не быстрее флексовых... вобщем, не знаю, я ни одому из них применения не нашел Уже либо Флексовые, либо полностью свои
Yahoo Astra + UIComponent из флэша можно уложить в 100кб на проект, флексовские у меня меньше 300 не получались ну никак вообще.
Хотя это уже вопрос религии на самом деле )

Старый 15.02.2009, 05:04
wvxvw вне форума Посмотреть профиль Отправить личное сообщение для wvxvw Найти все сообщения от wvxvw
  № 6  
Ответить с цитированием
wvxvw
Modus ponens
 
Аватар для wvxvw

модератор форума
Регистрация: Jul 2006
Адрес: #1=(list #1#)
Сообщений: 8,049
Записей в блоге: 38
Не... он на работе в каком-то недособраном состоянии но, надо бы как-то собраться с силами и все-таки это сделать...
И это ФДТ вообще никак не работает с MXML, так что выбор только ФД <-> ФБ.

А в смысле веса - у меня подход такой, опять же... если вес принципиально - то вообще ни о каких левых компонентах речь не идет... но, положа руку на сердце... 300К это 3 JPEG'а средних размеров... ну прям таки... можно подумать, что так уж много
Кроме того, меня в последнем проекте достали - дизайнер сделал прелоадер, а страница грузилась очень быстро - пришлось просто воткнуть анимацию...
__________________
Hell is the possibility of sanity

Старый 15.02.2009, 17:45
tikhop вне форума Посмотреть профиль Отправить личное сообщение для tikhop Найти все сообщения от tikhop
  № 7  
Ответить с цитированием
tikhop

Регистрация: Jul 2006
Сообщений: 170
http://fdt.powerflasher.com/blog/?p=316 - FDT + MXML )

Старый 15.02.2009, 23:02
7thsky™ вне форума Посмотреть профиль Отправить личное сообщение для 7thsky™ Найти все сообщения от 7thsky™
  № 8  
Ответить с цитированием
7thsky™
Flash Aксакал
 
Аватар для 7thsky™

Регистрация: 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>
Вот это счастье например компилится в что-то подобное
Код AS3:
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
    }
}
Ну и так далее, потом байндинг, эффекты, стайты и прочее - все это часть mx.*

Старый 15.02.2009, 23:38
wvxvw вне форума Посмотреть профиль Отправить личное сообщение для wvxvw Найти все сообщения от wvxvw
  № 9  
Ответить с цитированием
wvxvw
Modus ponens
 
Аватар для wvxvw

модератор форума
Регистрация: Jul 2006
Адрес: #1=(list #1#)
Сообщений: 8,049
Записей в блоге: 38
Не, не совсем так... что правда - биндинг _флексовый_ не будет работать, но это отнюдь не значит, что нельзя свой сделать, аналогично и со стилями и стейтами и т.п. На компайлер там не так много завязано...
Т.е., что правда, то правда, если идти по такому пути, то самому прийдеться очень много чего дописывать / допридумывать, но, с другой стороны, если есть желание - почему бы и нет?
__________________
Hell is the possibility of sanity

Старый 28.03.2009, 23:00
Nirth вне форума Посмотреть профиль Отправить личное сообщение для Nirth Посетить домашнюю страницу Nirth Найти все сообщения от Nirth
  № 10  
Ответить с цитированием
Nirth
4AM Games
 
Аватар для Nirth

блогер
Регистрация: Nov 2002
Адрес: Sofia
Сообщений: 6,264
Записей в блоге: 1
Отправить сообщение для Nirth с помощью ICQ Отправить сообщение для Nirth с помощью AIM Отправить сообщение для Nirth с помощью MSN Отправить сообщение для Nirth с помощью Yahoo Отправить сообщение для Nirth с помощью Skype™
Цитата:
На компайлер там не так много завязано...
Компилятор генерирует (транслирует) MXML файлы в серию ActionScript Классов. Поэтому MXML как раз таки серьезно завязан на mxmlc компилятор.

По этой же причине нельзя делать вложеные IMXMLObject инстансы.

Добавлено через 6 минут
Кстати в свое время я тоже задумался над этой проблемой, и пришел к использованию мета тегов, например:
Код:
[InitializeGUI(x="50", y="50", width="100")]
public var button:MyButton;
Был аналогичен коду
Код:
public var button:MyButton;

public function someFunction():void
{
    button = addChild(new Button) as Button;
    button.x = 50;
    button.y = 50;
    button.width = 100;
}
Но потом я начал думать о реализации инициализации дочерних компонентов, и так и не закончил библиотеки.

Добавлено через 8 минут
Цитата:
На компайлер там не так много завязано...
И еще раз, вы видели что генерирует компилятор из MXML компонентов=)? MXML и Компилятор взаимосвязанны.
__________________
Я перестал переписывать, начал редактировать, еще лет 15 и я стану писателем ^_^


Последний раз редактировалось Nirth; 28.03.2009 в 23:10.
Создать новую тему Ответ Часовой пояс GMT +4, время: 01:23.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


Часовой пояс GMT +4, время: 01:23.


Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.