Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   Связь объекта на сцене с кодом в другом пакете. (http://www.flasher.ru/forum/showthread.php?t=189843)

skolm 17.12.2012 20:35

Связь объекта на сцене с кодом в другом пакете.
 
Здравствуйте уважаемые форумчане.
Программирую на as3.0 несколько дней.
Вопрос:
я создаю файл с сценой Test.При этом в свойствах документа,указываю класс Test (наш основной код)
создаю файл с основным кодом Test,в котором,вызываю свойство класса TestObj (строковое и численное) и метод

Код AS3:

package
{
        import flash.display.MovieClip;
 
        import src.TestObj;
 
        public class Test extends MovieClip
        {
                private var tO:TestObj = new TestObj();
                public function Test():void
                {
                        trace(tO.sv1);
                        trace(tO.sv2);
                        tO.metod1();
                }
        }
}

создаю в папке src файл TestObj - мой класс который хочу создать и добавить на сцену.

Код AS3:

package src
{
        import flash.display.MovieClip;
 
        public class TestObj extends MovieClip
        {
                public var sv1:int = 3;
                public var sv2:String = "Свойство 2";
                public function TestObj():void
                {
                        trace("конструктор TestObj");
                }
                public function metod1():void
                {
                        trace("метод metod1");
                }
        }
}

На данном этапе всё замечательно работает.Переходим к шагу 2.

Я создаю в графической оболочке сложную фигуру,выделяю,F8,воздаю мувиклип и при этом экспортирую для action script с именем класса object1 .Я получаю символ .Теперь,я пытаюсь создать этот символ в классе TestObj и добавить его на сцену.
Код AS3:

package src
{
        import flash.display.MovieClip;
 
        public class TestObj extends MovieClip
        {
                public var sv1:int = 3;
                public var sv2:String = "Свойство 2";
                public function TestObj():void
                {
                        var obj:Object1 = new Object1();// здесь
                        trace("конструктор TestObj");
                        addChild(obj);//и здесь
                }
                public function metod1():void
                {
                        trace("метод metod1");
                }
        }
}

Но ничего не происходит вообще.Моя логика здесь такова,метод конструктор TestObj срабатывает,создает переменную в которую я засунул мой экземпляр объекта со сцены и теоритически должен бы этот самый объект быть добавлен.
Прошу знатоков отозваться и разъяснить суть использования объектов и классов в данном случае.

goWalk 17.12.2012 20:56

Забыл t0 на сцену добавить

skolm 17.12.2012 21:27

Извините за глупый вопрос,а почему tO надо добавлять на сцену,я же вроде уже объект добавляю?

KBAC 17.12.2012 21:35

Объект вы добавляете в tO. А tO нет на сцене

skolm 17.12.2012 21:38

Всем по + выручили.

GBee 17.12.2012 23:42

Цитата:

Сообщение от skolm (Сообщение 1110420)
Всем по + выручили.

А были бы вы модератором, эта фраза так не обрадовала бы.


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

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