передать строковое утверждение из класса, AS3 - PullRequest
0 голосов
/ 07 августа 2010

Мне нужен способ передачи строкового оператора из одного базового класса в другой.Два класса - НАЖМИТЕ и ПРОЧИТАЙТЕ.Какой простой способ сделать это?Я не работал в классах, чтобы часто знать некоторые простые трюки.Я высоко ценю вашу помощь.
Спасибо,

Класс: CLICK
Базовый класс: ClickClass
Объект, который я превратил в базовый класс и поместил в тот же FLA

package {
    import flash.events.Event;
    import flash.display.MovieClip;
    import flash.text.TextField;
    import flash.events.MouseEvent;
    import flash.display.*;

    public class ClickClass extends MovieClip {
         //public var read:String = "It's Done!";
         public function ClickClass() {
            b.addEventListener(MouseEvent.CLICK, onClick);
         }
            public function onClick(event:MouseEvent){
            trace("test!");
            //t.text = String(read);
            //ReadClass.t.text = String(read);


         } 
    }  
}

Класс: READ
Базовый класс: ReadClass
Объект, который я превратил в базовый класс и поместил в тот же FLA

package {
    import flash.events.Event;
    import flash.display.MovieClip;
    import flash.text.TextField;
    import flash.events.MouseEvent;
    import flash.display.*;

    public class ReadClass extends MovieClip {
         public var read:String = "It's Done!";
         public function ReadClass() {
             //t.text = String(read);

             /*
             1119: Access of possibly undefined property
             read through a reference with static type Class.
             */

         }

            //public functions
    }  
}

ОШИБКИ: 'поговорить сDynamicTextField в другом классе '

1119: доступ к неопределенному свойству, считанному через ссылку со статическим типом Class.

1120: доступ к неопределенному чтению свойства. 'предыдущая ошибка '

ОШИБКА:' Присоединение скриптов к классу документов '
5006: файл ActionScript не может иметь более одного видимого извне определения

Ответы [ 2 ]

2 голосов
/ 07 августа 2010

Я не совсем уверен, полностью ли я понял ваш вопрос, но вы, конечно, можете сделать »прочитать« static член ClickClass (вероятно, const) и получить к нему доступ через ReadClass.read

Более чистым решением, вероятно, было бы создание третьего класса, который может называться UiStrings, который перечисляет все строки, необходимые в пользовательском интерфейсе:

public class UiStrings {
    public static const DONE :String = "It's done";
}
0 голосов
/ 08 августа 2010

В третьем примере класса DONE является статической константой, поэтому после импорта класса UISTrings вы можете вызывать его из любого другого класса, такого как

 t.text = UIStrings.DONE;

Я согласен с klickverbot, что это было бы более чистое решение.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...