2012-10-11 7 views
4

Starling을 Flex 응용 프로그램과 함께 사용하고 있습니다. 앱은 Parsley 프레임 워크를 사용하고 뷰에서 IOC를 수행합니다.Parsley MVC IOC 주입으로 Starling보기를 동적으로 연결하는 방법

별표 표시는 일반 플래시 표시 객체가 아니라 고안입니다. 일반적으로 Parsley 프로젝트 내에서 뷰를 생성 할 때 동적으로 삽입하려면 Configure.view (this) .execute()를 호출하고 모두 잘합니다.

Configure.view를 사용하지 않고 Starling보기에 데이터 모델을 동적으로 삽입하는 방법이 있는지 궁금합니다 starling보기는 일반 플래시 표시 목록의 DisplayObject가 아닙니다.

답변

3

이 질문을 게시 한 후 약 1 시간 만에 Powerflasher/FDT에서 일했던 패트릭 컬링 (Patrick Kulling)과 파슬리의 안과 밖을 아는 사람이이 솔루션을 발견했습니다.

기본적으로 파슬리 컨텍스트의 인스턴스를 가져온 다음 context.addDynamicObject를 그렇게 호출해야합니다.

  [Inject] 
      public var context:Context; 

      [Init] 
      private function onImagesReady(event : Event = null) : void 
      { 
        //star.root gives us a ref to MainGame witch is our starling view  
        //that want parsley to do IOC on 
       context.addDynamicObject(star.root); 
      } 


        //here is where we call the starling code and it creates an instance 
      private function onCC() : void 
      { 
       star = new Starling(MainGame, stage); 
       star.viewPort = new Rectangle(0, 0, width, height); 
       star.start(); 
      } 
+0

당신은 당신이 당신의 자신을 받아 들일 수 알고 그것을 관리하기 위해 찌르레기의의 DisplayObject에 대한 그 사용 StarlingConfigure 클래스 후

ContextBuilder.newSetup() .services() .viewManager() .addDecorator(StarlingViewManagerDecorator, _starling) .newBuilder() .config(XmlConfig.forFile("config.xml")) .build(); 

: 라이브러리가 연결되면 사용자의 컨텍스트를 만들 때

, 당신은 StarlingViewManagerDecorator 추가 대답? –

0

Starling과 함께 사용하기 위해 Parsley를 채택한 parsley-starling 라이브러리를 살펴보십시오.

modified version of Parsley을 기반으로하여 플래시 API에 덜 의존적입니다.

import feathers.controls.Screen 
public class NewsView extends Screen 
{ 
    public function NewsView() 
    { 
     super(); 

     StarlingConfigure.view(this).execute(); 
    } 
}