Форум 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=136082)

dixlofos 09.02.2010 16:04

Как узнать параметр одного класса через другой класс?
 
Вот есть у меня класс Main
Код AS3:

package
{
        import flash.display.MovieClip;
        import classes.Class1;
        import classes.Class2;
 
        public class Main extends MovieClip
        {
                var c1 = new Class1();
                var c2 = new Class2();
 
                public function Main():void
                {
                        addChild(c1);
                        addChild(c2);
                }
        }
}

И класс1
Код AS3:

package classes
{
        import flash.display.MovieClip;
 
        public class Class1 extends MovieClip
        {
                public var param1 = 10;
                public function Class1():void
                {
                }
        }
}

и еще класс2
Код AS3:

package classes
{
        import flash.display.MovieClip;
 
        public class Class2 extends MovieClip
        {
                public function Class2():void
                {                       
                }
        }
}

Мне нужно Что бы класс2 знал чему равняеться параметр param1 класса1.
Если я в классе2 пишу
Код:

trace(Main.c1.param1);
то мне компилятор выдает ошибочку:
Код:

1119: Обращение возможного неопределенного свойства c1 через ссылку со статическим типом Class .
Что же делать, как мне быть? =]

murz 09.02.2010 16:51

Код AS3:

Что же делать, как мне быть? =]

надо поучить ООП

Код AS3:

package classes
{
        import flash.display.MovieClip;
 
        public class Class2 extends MovieClip
        {
                public function Class2(class1:Class1):void
                {                        var propInClass1:Number = class1.param1;
 
                }
        }
}


udaaff 09.02.2010 16:51

Код AS3:

package
{
        import flash.display.MovieClip;
        import classes.Class1;
        import classes.Class2;
 
        public class Main extends MovieClip
        {
                private var c1:Class1;
                private var c2:Class2;
 
                public function Main()
                {
                        c1 = new Class1();
                        addChild(c1);
 
                        c2 = new Class2(c1.param1);
                        addChild(c2);
                }
        }
}

Код AS3:

package classes
{
        import flash.display.MovieClip;
 
        public class Class2 extends MovieClip
        {
 
                public function Class2(value:Number)
                {                       
                }
        }
}


dixlofos 09.02.2010 18:16

спасибо =] Боле менее понял


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

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