Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   API приложений и сред (http://www.flasher.ru/forum/forumdisplay.php?f=61)
-   -   [...] RobotLegs2 объявление классов (http://www.flasher.ru/forum/showthread.php?t=202590)

Akopalipsis 27.07.2013 16:53

Цитата:

Почему класс ClassA содержит в себе иниализацию класса Context?
Это я в своих экспериментах зашёл слишком далеко..
Цитата:

Не понятно ничего. Напишите подробно, что вы хотите сделать.
Хочу на маленьком примере увидеть, как изменяется экземпляр класса.
Код AS3:

package  
{
        import flash.display.DisplayObjectContainer;
        import flash.display.Stage;
        import flash.events.Event;
        import robotlegs.bender.extensions.contextView.ContextView;
        import robotlegs.bender.framework.impl.Context;
 
        public class MainConfig extends Context
        {
                public var _contextView:DisplayObjectContainer;
                public var _stage:Stage;
 
                public var myClass:ClassC;
 
 
                public function MainConfig(stage:Stage ,contextView:DisplayObjectContainer)
                {
                        super.initialize();
                        super.configure(new ContextView(contextView));
                        injector.map(ClassA).asSingleton();
                        //создаю экземпляр класса ClassC
                        myClass = new ClassC();
                        //присваиваю значение его свойству num
                        myClass.num = 555;
                        //связываю класс ClassC с его экземпляром myClass
                        injector.map(ClassC).toValue(myClass);
                        //инжектирую
                        injector.injectInto(myClass);
                        //и тут пока готовой модели ещё нет я просто вызываю ClassA
                        super.injector.instantiateUnmapped(ClassA);
 
                }
 
        }
 
}

Код AS3:

package  
{
        public class ClassA
        {
                [Inject]
                public var _c:ClassC;
 
 
                public function ClassA()
                {
                        _c = new ClassC();
                        trace(_c.num);//0
                }
 
        }
 
}

Код AS3:

package  
{
        public class ClassC
        {
 
                private var _num:int;
 
                public function ClassC()
                {
                        //
                }
                public function set num(value:int):void
                {
                        this._num = value;
                }
                public function get num():int
                {
                        return this._num;
                }
 
        }
 
}

Добавлено через 3 минуты
Цитата:

и вполне связно выражаете мысли,
Обычно все говорят - что мы тебя не понимаем... Но если Вы так сказали, то наверное это то самое влияние форума. Читаю Вас и учусь.

Akopalipsis 27.07.2013 17:51

okouser Спасибо Вам Большое! я сейчас это буду переваривать и потом повторю благодарности вместе в вопросами. Но прежде мне вот что хочется узнать, наверняка вы сталкивались с этим. Каждый раз, когда я запускаю в дебаге рабочий код RL, то в первый раз все хорошо, но во второй и все последующие вылазиет ошибка
Цитата:

Error: Comparison method violates its general contract!
Build halted with errors (fcsh).
и так и будет если не нажать shift+f8. Что это такое? ( ide flashdevelop ).

TWETTI 27.07.2013 18:03

Akopalipsis, это наверно из-за того, что у вас Java 7. Верно? Если да, то попробуйте удалить 7-ю версию и поставьте 6-ю версию.

Akopalipsis 27.07.2013 19:11

Цитата:

это наверно из-за того, что у вас Java 7. Верно?
Да! Сейчас буду разбираться.
Код AS3:

такие как Flash Builder.

Если сказать почему мне нравиться FD - то это его быстрая загрузка.
Если сказать почему я не использую
Код AS1/AS2:

_.F.B._ - _н.а_л.и.ц.е.н.зи.ю_н.е.т_д.е.н.е.г_,_а_..._у_м.е.н.я_п.о.ч.е.м.у_т.о_с.л.е.т.а.е.т_


Akopalipsis 29.07.2013 02:03

А может кто нибудь подсказать как лучше инициализировать контроллер?
Когда в обычной ситуации, то в главном классе Main создают экземпляр и передают в контроллер ссылку new Controller(this) и вся конструкция запускается. Но почему то мне кажется, что в RL2 это организовывают иначе. И по этому я целый день ищу ответ... Узнал много интересного, но на свой вопрос так и не смог однозначно ответить.

Akopalipsis 29.07.2013 02:31

Цитата:

Я же вам пример писал по RL2. Там вся инициализация последовательно приведена.
Вы на меня не сердитесь!)
Цитата:

Контроллер в RL в общем случае может быть достаточно неопределенным понятием.
Вот это меня и смущает, я не могу до конца логику прочувствовать. Класса вью, как привычного мне, нет. Есть ContextView, который хранит ссылку на отображение. Но как запустить отображение без контроллера я не понимаю. Всё равно же должен быть какой то класс который добавляет обьекты в список отображения.

TWETTI 29.07.2013 13:14

Цитата:

А может кто нибудь подсказать как лучше инициализировать контроллер?
Как такового контроллера в Robotlegs нет. Обычно, это класс Command.

Цитата:

Вот это меня и смущает, я не могу до конца логику прочувствовать. Класса вью, как привычного мне, нет. Есть ContextView, который хранит ссылку на отображение. Но как запустить отображение без контроллера я не понимаю. Всё равно же должен быть какой то класс который добавляет обьекты в список отображения.
Код AS3:

contextView.view.addChild(new MainView());

MainView это ваш главный View. В него вы добавляете остальные View'шки.

Akopalipsis 29.07.2013 14:48

Цитата:

contextView.view.addChild(new MainView());
А где его лучше добавлять в конфиге, где устанавливаешь связи или в отдельном command по завершению инициализации всех классов?

TWETTI 29.07.2013 14:51

В конфиге.

Akopalipsis 29.07.2013 14:52

Спасибо Вам обоим за помощь!


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

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