2011-01-16 4 views
0

저는 MainClass와 GUIClass를 가지고 있습니다. MainClass를 통해 GUIClass는 GUI에 대한 모든 것을 처리 할 수 ​​있습니다. MainClass에서 GUIClass로 다른 Object 속성을 어떻게 호출합니까?플래시 AS3 클래스의 객체에 대한 여러 속성 호출

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

이 코드는 TextField의 text 속성을 전달하는 방법을 보여줍니다. 하지만 이제 ComboBox가 있고 데이터를 채우고 지우고 레이블과 데이터를 받아야합니다. 이름 지정 규칙에

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

안부

TD

답변

1
  1. 스틱과 같이 호출 할 수있는 방법이 있나요 : 클래스 이름은 대문자로 시작해야, 멤버 이름은로 시작해야 소문자.

  2. gui 객체가 public으로 선언 된 경우 해당 객체에 액세스 할 수 있습니다. 따라서 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; 
     } 
    } 
}