Flash AS3 Вызов нескольких свойств для объекта в классе - PullRequest
0 голосов
/ 16 января 2011

У меня есть MainClass и GUIClass.MainClass позволяет GUIClass обрабатывать все о GUI.Как вызвать различные свойства объекта из MainClass в GUIClass.

package {

    import gui;
    public class main {
        public var ui:Object = userInterface_mc as Object;
        public var myGui:gui = new gui;

        function main() {
                myGui.prepareObject(ui);
                myGui.tf01 = "foo";
        }
    }

package {
    public class gui {
        private var ui:Object;
        private var textField01:TextField = textField_01 as Textfield;

        function prepareObject (myUI:Object) {
                ui = myUI;
        }
        function set tf01 (myString:String) {
                textField01.text = myString;
        }
    }
}

Код показывает, как я передаю свойство text TextField.Но теперь у меня есть ComboBox, и мне нужно заполнить данные, очистить их, получить метку и данные.Есть ли способ назвать это как

myData = GUI.comboBox01.data;
myLabel = GUI.comboBox01.label;
GUI.comboBox01.resetAll();
GUI.comboBox01.addItem({label:"foo", data:"baa"});

С уважением

TD

1 Ответ

1 голос
/ 16 января 2011
  1. Придерживайтесь соглашений об именах: имена классов должны начинаться с заглавной буквы, имена членов должны начинаться с строчной буквы.

  2. Вы можете получить доступ к любомусвойство внутри вашего графического объекта, если оно объявлено публичным.Поэтому, если вы сделаете comboBox01 общедоступной переменной, она будет доступна.

Вот ваш новый код - но не зная, что вы собираетесь с ним делать, я могу только предполагать, кудаположить что:

package {

    import GUI;
    public class Main {
        public var ui:Object = userInterface_mc as Object;
        public var myGui:GUI = new GUI();
        private var myData : String;
        private var myLabel : String;
        public function main() {
            myGui.prepareObject(ui);
            myGui.tf01 = "foo";
            myData = myGUI.comboBox01.data;
            myLabel = myGUI.comboBox01.label;
            myGUI.comboBox01.resetAll();
            myGUI.comboBox01.addItem({label:"foo", data:"baa"});
        }
    }

package {
    public class GUI {
        private var ui:Object;
        private var textField01:TextField = textField_01 as Textfield;
        public var comboBox01:ComboBox;

        public function prepareObject (myUI:Object) {
                ui = myUI;
        }
        public function set tf01 (myString:String) {
                textField01.text = myString;
        }
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...