2013-06-25 1 views
0

"Counter"및 "MessageBox"와 같은 여러 가지 무비 클립으로 구성된 무비 클립 "Gameboard"가 있다고 가정 해보십시오. 이러한 하위 클립 각각에는 TextFields ("myScore") 또는 그래픽 심볼과 같은 인스턴스가 있습니다. Flash Builder 내에서 Flash IDE 인스턴스를 참조하는 방법

이 클래스의 각

내가 그들에게 참조 할 필요가 그래서 그들은/이벤트에 응답 신호는 점에서 복잡

내 현재의 접근 방식은 모든 클립에 내보내기 설정을 설정하는 것이 었습니다 (예 : 대한 mypackagename.Counter합니다.)이있는 FlashBuilder에서 가져 왔습니다. 그런 다음 부모 (Gameboard)가 스테이지에 추가되면, 나는 모든 아이들을 통해 재귀하고 색인으로 액세스합니다. (나는 아주 잘 알고 있습니다.) 이와 비슷한 것 (이 스 니펫은 편리하지 않지만 나쁜 것을 보여줍니다.) 코드 나는 안전하게 이름이나 종류에 따라 "myCounter"의 인스턴스에 액세스하거나 심지어 중 하나가 아이들에게 ("하여 myTextField"의 방법 만 다른 프레임에 존재하는 자식 무비 클립을 고려)

function findChild(doc:DisplayObjectContainer):void 
{ 

     //loop through doc.children 
     //get current child . ToString check if its [ object Counter ] etc 
     // if a match is found set a variable locally to reference it 
} 

제거 할).

저는 워크 플로가 상당히 복잡합니다. 카운터 및 다른 자식 MC의 디자인이 포함 된 단일 Gameboard 자산을 포함하는 일러스트레이터 파일을 가져옵니다. JSFL은 조각 모양을 무비 클립으로 변환 한 다음 단일 조각으로 여러 번 스왑하는 데 사용됩니다. 자동으로 선언 스테이지 인스턴스 설정을 변경할 때 다중 오류가 발생하므로이 설정을 피할 수있는 해결책이 있기를 바랍니다.

게임 보드를 Flash IDE의 구성 요소로 변환하고 예를 들어 "myCounter"를 참조하는 IDE 내에서 속성을 만들 수 있습니까?

읽어 주셔서 감사합니다.

마이크

답변

1

하지 내가 제대로 이해하지만 그것의 이름을 통해 아이 - 무비 클립 또는 텍스트 필드에 액세스 할 수 있는지 확인합니다. 이 경우 GameBoard에 대해 1 클래스를 만들고 하위 클래스의 게터를 만들 수 있습니다.

  • GameBip 클래스가 추가 된 GameBoard가 추가되었습니다.
  • 무비 클립 myCounter, 게임 보드 무비 클립의 아이, 그리고 이름 myCounter와
  • 이름 myTf와 텍스트 필드 myTf, myCounter의 아이,

    package { 
    public class GameBoard extends MovieClip { 
        private function get _myCounter():MovieClip { return this["myCounter"]; } 
        private function get _myTf():TextField { return _myCounter["myTf"]; } 
    } 
    } 
    

당신은 또한 단지 바로이 [ "myCounter"] 및 this [ "myCounter"] [ "myTf"]를 코드로 사용하지만 getter를 만드는 것이 더 좋습니다.