Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   доступ к переменный document class из другого класса (http://www.flasher.ru/forum/showthread.php?t=117846)

LameAS3 08.11.2008 05:14

доступ к переменный document class из другого класса
 
Приветствую народ знающий.

Искал по форуму,решения не нашел

Итак, суть писанины: есть рутовый класс(Document class) Main.as и есть мувик, у которому тоже задан свой класс в code/MC.as. И вот я пытаюсь обратиться к переменной thisMurov класса Main из класса code.MC:
Код:

Main:
package {
        import flash.display.MovieClip;
        import flash.events.*;

        public class MainStage extends MovieClip {
                public var thisMurov:Object;
                public function MainStage() {
                        thisMurov = mc1; //mc1 - это мувик, валяющийся на сцене
                }
        }
}

code.MC:
package code {
        import flash.display.MovieClip;
        import flash.events.*;

        public class MC extends MovieClip{
                public function MC() {
                        addEventListener(MouseEvent.CLICK,OnClick);
                }               
                function OnClick(e:Event){
                        trace(parent.thisMurov); //компилятор матом на меня ругается
                }
        }
}

Я понимаю, что не правильно делаю, но Как Правильно надо, чет не доходит

Спасибо за помощь заранее

Alex Lexcuk 08.11.2008 09:26

Пишем документ класс
Код:

//Doc (Документ класс)
package {
        import flash.display.MovieClip;
        import flash.events.*;

        dynamic public class Doc extends MovieClip {
                public var thisMurov:Object;
                public function Doc() {
                        thisMurov=mc1;//mc1 - это мувик, валяющийся на сцене
                        trace('Привет от конструктора ДОКУМЕНТ КЛАССА. Я Выполнился ' +this);
                }
        }
}

Пишем класс для мувика находящегося на сцене <inctance name> mc1
Код:

package {
        import flash.display.MovieClip;
        import flash.events.*;
        dynamic public class MC extends MovieClip {
                var doc:Doc;
                public function MC() {
                        addEventListener(MouseEvent.CLICK,OnClick);
                        addEventListener(Event.ADDED_TO_STAGE,stAdd);
                }
                function OnClick(e:Event) {
                        trace('А, вот вы и кликнули на mc1');
                        trace('doc '+doc);//компилятор матом на меня не ругается
                        trace(doc.thisMurov);//компилятору хорошо
                       
                }
                function stAdd(evt:Event){
                doc = parent as Doc;
                trace('Привет от МС!!! Я добавился ' + this);
                }
        }
}

Нажимаем ctrl+enter
в панеле trace видим, что когда происходит
trace
Код:

Привет от МС!!! Я добавился [object MC]
Привет от конструктора ДОКУМЕНТ КЛАССА. Я Выполнился [object Doc]
А, вот вы и кликнули на mc1
doc [object Doc]
[object MC]


etc 08.11.2008 14:17

Alex Lexcuk, с вашей схемой необходимо компилить один и тот же класс в обе флешки.
Реальные же пацаны используют интерфейс.

LameAS3 08.11.2008 15:20

Alex Lexcuk, Большое спасибо, всё заработало как швейцарские часы))

BlooDHounD 08.11.2008 17:48

__etc, реальные пацаны используют external-классы ;)

etc 08.11.2008 18:00

Цитата:

Сообщение от BlooDHounD (Сообщение 775547)
__etc, реальные пацаны используют external-классы ;)

Тут врядли идет речь об билдере, так что :quiet:

BlooDHounD 09.11.2008 03:28

__etc, но ты же говоришь, о реальных пацанах? а они вряд ли компилирую приложение через кастрированный Flash IDE.

etc 09.11.2008 12:29

Цитата:

Сообщение от BlooDHounD (Сообщение 775663)
__etc, но ты же говоришь, о реальных пацанах? а они вряд ли компилирую приложение через кастрированный Flash IDE.

Ну да, о реальных. А вот крутые реальные пацаны компилят в sdk :D

BlooDHounD 09.11.2008 13:00

чёрт побери ... я кажется в флэйме видел топик, о формах и видах, и ореолах обитания флэшеров. это от туда?


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

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