2011-01-16 14 views
0

Ich habe eine MainClass und eine GUIClass. Die MainClass lässt die GUIClass alles über die GUI behandeln. Wie rufe ich verschiedene Object-Eigenschaften von der MainClass zur GUIClass.Flash AS3 Aufruf von mehreren Eigenschaften für Objekt in Klasse

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; 
     } 
    } 
} 

Der Code zeigt, wie ich die Text-Eigenschaft eines TextField übergeben. Aber jetzt habe ich eine ComboBox und ich muss Daten eingeben, löschen, erhalten Sie das Etikett und die Daten. Gibt es eine Möglichkeit, es zu nennen wie

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

Mit freundlichen Grüßen

TD

Antwort

1
  1. Halten Sie sich an die Namenskonventionen: Klassennamen mit einem Großbuchstaben beginnen sollte, sollten Mitgliedsnamen beginnen mit ein Kleinbuchstabe.

  2. Sie können auf jede Eigenschaft innerhalb Ihres GUI-Objekts zugreifen, wenn es als öffentlich deklariert wird. Wenn Sie also comboBox01 zu einer öffentlichen Variablen machen, ist es zugänglich.

Hier ist Ihr neuer Code - aber nicht zu wissen, was Sie mit ihm tun werden, kann ich nur annehmen, wo zu setzen, was:

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; 
     } 
    } 
}