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

RedMilk 12.05.2017 17:02

Считывание чисел с другого класса
 
Всем привет помогите пожалуйста , у меня есть 2 класса в 1 классе при нажатие кнопки start1fun у меня считывает int значение gaz & voda с 2 класса, в 2 классе пользователь вводить сам значение в function g_v , но при компиляции кода у меня выбивает ошибку " col: 4 Error: Access of undefined property gaz.". Я понимаю что она не находить просто эти значение и не знаю как их от туда взять
Можете помочь как можно сделать правильно , чтобы пользователь водил число и я мог дальше работать с ним в других классах

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

package 
{
 
        import flash.display.Shape;
        import flash.display.Sprite;
        import flash.events.MouseEvent;
        import flash.events.Event;
        import flash.display.Bitmap;
        import flash.display.*;
        import flash.system.ImageDecodingPolicy;
        import flash.filters.*;       
        import flash.events.*;
        import flash.text.TextField;
        import flash.net.URLRequest;
        import flash.display.DisplayObject;
        import flash.utils.Timer;
        import flash.display.Stage;
        import flash.text.*;
 
 
 
 
        /**
        * ...
        * @author q
        */

        public class W_Library extends Sprite
        {
 
                private var w_Error:W_Error = new W_Error();
 
                public var myShape:Shape = new Shape();
                public var cont:Sprite = new Sprite;
                public var start1cont:Sprite = new Sprite;
                public var stop1cont:Sprite = new Sprite;
                public var start_drain:Sprite = new Sprite;
                public var stop_drain:Sprite = new Sprite;       
                [Embed(source = "image/stop1.png")] var Stop1:Class;
                [Embed(source = "image/start1.png")] var Start1:Class;
                public var minuteTimer:Timer = new Timer(1000, 9999999);
 
 
 
                public var tim:int = 0;
                public var proc:int = 0;
                public var score:int = 100;
                public var napolnen:int = 0;
                public var ubitok:int = 0;
                public var t:int = 0;
 
                public function W_Library()
                {
                        minuteTimer.addEventListener(TimerEvent.TIMER, onTick);         
            minuteTimer.start();
                        draw_Rekt();
 
                }
 
                private function  draw_Rekt(): void
                {
                        myShape.graphics.beginFill(0xc0b8b8);
                        myShape.graphics.lineStyle(1);
                        myShape.graphics.drawRect(0, 0, 240, 740);
                        myShape.graphics.endFill();
                        cont.addChild(myShape);
 
 
                        var start1 = new Start1();
                        start1.x = 60;
                        start1.y = 50;
                        start1cont.addChild(start1);
                        cont.addChild(start1cont);
                        //////////////////////
                        var stop1 = new Stop1();
                        stop1.x = 60;
                        stop1.y =160;
                        stop1cont.addChild(stop1);
                        cont.addChild(stop1cont);
                        //////////////////////
 
                        addChild(cont);
 
                        stop1cont.addEventListener(MouseEvent.CLICK, stop1fun);       
                        start1cont.addEventListener(MouseEvent.CLICK, start1fun);
 
                        stop_drain.addEventListener(MouseEvent.MOUSE_DOWN, onMouseOver3)//курсор встал на кнопку
                        stop_drain.addEventListener(MouseEvent.MOUSE_UP, onMouseOut3);       
 
                        start_drain.addEventListener(MouseEvent.MOUSE_DOWN, onMouseOver3)//курсор встал на кнопку
                        start_drain.addEventListener(MouseEvent.MOUSE_UP, onMouseOut3);
 
                        stop1cont.addEventListener(MouseEvent.MOUSE_DOWN, onMouseOver2)//курсор встал на кнопку
                        stop1cont.addEventListener(MouseEvent.MOUSE_UP, onMouseOut2);
                        start1cont.addEventListener(MouseEvent.MOUSE_DOWN, onMouseOver1)//курсор встал на кнопку
                        start1cont.addEventListener(MouseEvent.MOUSE_UP, onMouseOut1);
 
                }
                private function start1fun(event:MouseEvent):void {
                        removeEventListener(Event.ENTER_FRAME,  start1fun)
                        //napolnen = 2;
                        gaz;
                        voda;
 
                }
                private function stop1fun(event:MouseEvent):void {
                        removeEventListener(Event.ENTER_FRAME,  stop1fun)
                        napolnen;
 
                } 
 
                //ЗАПУСК АНИМАЦИИ
                public function onTick(event:TimerEvent):void{         
                        addEventListener(Event.ENTER_FRAME,  start1contfun)
                        napolnen = 0;
                        t = 1;
 
                }
 
                ///////Пуск система//////////////
                public function start1contfun(e:Event):void {
                        if (voda < 50){
                                if(gaz<50){
                                napolnen = 4;
                                ubitok = 3;
                                t = 1;//-//
                                sostventvodiX_1.text = "Открыт";
                                sostventvodiG_2.text = "Открыт";
                                sostventgaz_3.text = "Открыт";               
                                }
                        }else{
                                sostventvodiX_1.text = "Закрыт";
                                sostventvodiG_2.text = "Закрыт";
                                sostventgaz_3.text = "Закрыт";
                        };
                        if (voda > 50){
                                if(gaz>50){
                                napolnen = 6;
                                ubitok = 5;
                                t = 1;//+//
                                sostventvodiX_1.text = "Открыт";
                                sostventvodiG_2.text = "Открыт";
                                sostventgaz_3.text = "Открыт";
                                }
                        }else{
                                sostventvodiX_1.text = "Закрыт";
                                sostventvodiG_2.text = "Закрыт";
                                sostventgaz_3.text = "Закрыт";
                        };
 
                        if (voda < 50){
                                if(gaz>50){
                                napolnen = 4;
                                ubitok = 5;
                                t = 3;//+//
                                sostventvodiX_1.text = "Открыт";
                                sostventvodiG_2.text = "Открыт";
                                sostventgaz_3.text = "Открыт";
                                }
                        }else{
                                sostventvodiX_1.text = "Закрыт";
                                sostventvodiG_2.text = "Закрыт";
                                sostventgaz_3.text = "Закрыт";
                        };
                        if (voda > 50){
                                if(gaz<50){
                                napolnen = 6;
                                ubitok = 3;
                                t = -1;//-//
                                sostventvodiX_1.text = "Открыт";
                                sostventvodiG_2.text = "Открыт";
                                sostventgaz_3.text = "Открыт";
                                }
                        }else{
                                sostventvodiX_1.text = "Закрыт";
                                sostventvodiG_2.text = "Закрыт";
                                sostventgaz_3.text = "Закрыт";
                        };
 
                        /*
                        score = score+napolnen - ubitok;
                        proc = 100 / 200 * score;
                        procent.text = proc.toString();
                        filling6_6.text = score.toString();
 
                        tim++;
                        time5_5.text=tim.toString();*/

                        removeEventListener(Event.ENTER_FRAME, start1contfun);
                }
 
 
                /////////Вид нажатия//////////////////
                private function onMouseOver2(e:MouseEvent):void
                  {
                        stop1cont.filters = [new BevelFilter()];
                  }
                private function onMouseOver1(e:MouseEvent):void
                  {
                        start1cont.filters = [new BevelFilter()];
                  }
                private function onMouseOver3(e:MouseEvent):void
                  {
                        start_drain.filters = [new BevelFilter()];
                  }
                private function onMouseOut2(e:MouseEvent):void
                  {
                        stop1cont.filters = [];
                  }
                private function onMouseOut1(e:MouseEvent):void
                  {
                        start1cont.filters = [];
                  }
                  private function onMouseOut3(e:MouseEvent):void
                  {
                  start_drain.filters = [];
                  }
 
        }
 
}

Класс 2
Код AS3:

package 
{
        import flash.text.TextFormat;
        import flash.text.TextField;
        import flash.text.TextFieldAutoSize;
        import flash.text.AntiAliasType;
        import flash.display.Shape;
        import flash.display.Sprite;
        import flash.net.URLRequest;
        import flash.display.DisplayObject;
 
 
    import flash.display.Stage;
    import flash.text.*;
    import flash.events.*;
 
 
 
 
        /**
        * ...
        * @author q
        */

        public class W_Error extends Sprite
        {
                public var myShape:Shape = new Shape();
                public var cont:Sprite = new Sprite;
                public var text:Sprite = new Sprite;
                public var sostventvodiX_1 :TextField = new TextField();
                public var sostventvodiG_2 :TextField = new TextField();
                public var sostventgaz_3 :TextField = new TextField();
                public var sost_datchik_T_4 :TextField = new TextField();
                public var sost_datchik_X_5 :TextField = new TextField();
                public var sost_datchik_G_6 :TextField = new TextField();
                public var voda :TextField = new TextField();
                public var gaz :TextField = new TextField();
                public var vodaint:int = int(voda);
                public var gazint: int = int (gaz);
 
                public var sostventvodiX:TextField = new TextField();
                public var sostventvodiG:TextField = new TextField();
                public var sostventgaz:TextField = new TextField();
                public var sost_datchik_T:TextField = new TextField();
                public var sost_datchik_X:TextField = new TextField();
                public var sost_datchik_G:TextField = new TextField();
 
                [Embed(source = "image/Text.jpg")] var Text:Class;
 
                public function W_Error()
                {
                        draw_Rekt();
                        g_v();
                }
                private function  draw_Rekt(): void
                {
                        myShape.graphics.beginFill(0xc0b8b8);
                        myShape.graphics.lineStyle(1);
                        myShape.graphics.drawRect(0, 0, 1100, 130);
                        myShape.graphics.endFill();
                        cont.addChild(myShape);
 
 
 
                        /////////////////Окно название данных///////////////
                        var format:TextFormat = new TextFormat();
                        format.font = "Имя";
                        format.color = 0x00587a;
                        format.size = 15;
 
                        sostventvodiX.defaultTextFormat = format;
                        sostventvodiX.text = "Состояние Вентеля Холодной Воды  ";
                        sostventvodiX.y = 0;
                        sostventvodiX.width = 240;
                        text.addChild(sostventvodiX);
 
                        sostventvodiG.defaultTextFormat = format;
                        sostventvodiG.text = "Состояние Вентеля Горячей Воды ";
                        sostventvodiG.y = 20;
                        sostventvodiG.width = 240;
                        text.addChild(sostventvodiG);
 
                        sostventgaz.defaultTextFormat = format;
                        sostventgaz.text = "Состояние Вентеля Газа  ";
                        sostventgaz.y = 40;
                        sostventgaz.width = 240;
                        text.addChild(sostventgaz);                       
 
                        sost_datchik_T.defaultTextFormat = format;
                        sost_datchik_T.text = "Датчик t° Горячей Воды";
                        sost_datchik_T.y = 60;
                        sost_datchik_T.width = 240;
                        text.addChild(sost_datchik_T);
 
                        sost_datchik_X.defaultTextFormat = format;
                        sost_datchik_X.text = "Датчик Затраты воды Х";
                        sost_datchik_X.y = 80;
                        sost_datchik_X.width = 240;
                        text.addChild(sost_datchik_X);
 
                        sost_datchik_G.defaultTextFormat = format;
                        sost_datchik_G.text = "Датчик Затраты воды Г";
                        sost_datchik_G.y = 100;
                        sost_datchik_G.width = 240;
                        text.addChild(sost_datchik_G);
 
 
                        ///////////////////окно данных //////////////////
                        sostventvodiX_1.defaultTextFormat = format;
                        sostventvodiX_1.text = "Закрыт"
                        sostventvodiX_1.x = 245;
                        sostventvodiX_1.y = 0;
                        var textbox1 = new Text();
                        textbox1.x = 240;
                        textbox1.y = 0;
 
                        sostventvodiG_2.defaultTextFormat = format;
                        sostventvodiG_2.text = "Закрыт"
                        sostventvodiG_2.x = 245;
                        sostventvodiG_2.y = 20;
                        var textbox2 = new Text();
                        textbox2.x = 240;
                        textbox2.y = 20;
 
                        sostventgaz_3.defaultTextFormat = format;
                        sostventgaz_3.text = "Закрыт"
                        sostventgaz_3.x = 245;
                        sostventgaz_3.y = 40;
                        var textbox3 = new Text();
                        textbox3.x = 240;
                        textbox3.y = 40;
 
                        sost_datchik_T_4.defaultTextFormat = format;
                        sost_datchik_T_4.text = " "
                        sost_datchik_T_4.x = 245;
                        sost_datchik_T_4.y = 60;
                        var textbox4 = new Text();
                        textbox4.x = 240;
                        textbox4.y = 60;
 
                        sost_datchik_X_5.defaultTextFormat = format;
                        sost_datchik_X_5.text = " "
                        sost_datchik_X_5.x = 245;
                        sost_datchik_X_5.y = 80;
                        var textbox5 = new Text();
                        textbox5.x = 240;
                        textbox5.y = 80;
 
                        sost_datchik_G_6.defaultTextFormat = format;
                        sost_datchik_G_6.type = TextFieldType.INPUT;
                        sost_datchik_G_6.text = " "
                        sost_datchik_G_6.x = 245;
                        sost_datchik_G_6.y = 100;
                        var textbox6 = new Text();
                        textbox6.x = 240;
                        textbox6.y = 100;
 
 
                        text.addChild(textbox1);//задний фон чисел
                        text.addChild(textbox2);//задний фон чисел
                        text.addChild(textbox3);//задний фон чисел
                        text.addChild(textbox4);//задний фон чисел
                        text.addChild(textbox5);//задний фон чисел
                        text.addChild(textbox6);//задний фон чисел
 
 
 
                        text.addChild(sostventvodiX_1);
                        text.addChild(sostventvodiG_2);
                        text.addChild(sostventgaz_3);
                        text.addChild(sost_datchik_T_4);
                        text.addChild(sost_datchik_X_5);
                        text.addChild(sost_datchik_G_6);
                        text.addChild(voda);
                        text.addChild(gaz);
 
                        cont.addChild(text);
                        addChild(cont);       
 
                }
                public function g_v ()
                {
                        var format:TextFormat = new TextFormat();
                        format.font = "Имя";
                        format.color = 0x00587a;
                        format.size = 15;
 
                        voda.defaultTextFormat = format;
                        voda.type = TextFieldType.INPUT;
                        voda.text = " "
                        voda.x = 280;
                        voda.y = 0;
                        var textbox7 = new Text();
                        textbox7.x = 275;
                        textbox7.y = 0;
 
                        gaz.defaultTextFormat = format;
                        gaz.type = TextFieldType.INPUT;
                        gaz.text = " "
                        gaz.x = 280;
                        gaz.y = 20;
                        var textbox8 = new Text();
                        textbox8.x = 275;
                        textbox8.y = 20;
 
                        text.addChild(textbox7);
                        text.addChild(textbox8);
 
                        text.addChild(voda);
                        text.addChild(gaz);
 
                        cont.addChild(text);
                        addChild(cont);       
 
 
                }
 
        }
 
}


Ёлочка 16.05.2017 18:34

Обращение к свойствам другого класса или его экземпляра производится через точку. Например, вот так:

Код AS3:

w_Error.gazint;

Однако, помимо этой ошибки у вас в коде ещё куча других ошибок. Например, вы пытаетесь экземпляр класса TextField привести к типу int во время присвоения значения свойству gazint, что не имеет смысла. Рекомендую перед дальнейшей работой над своим проектом прочитать хотя бы первые 300-500 страниц какого-нибудь учебника по AS3.0.


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

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