2014-06-07 4 views
0

필자는 1 시간 동안이 작업을 해왔다. 나는 그것을 얻을 수 없다. 클래스의 기본 타임 라인에있는 컨테이너에 객체를 추가하려고합니다. 여기 클래스의 메인에 컨테이너에 추가

ReferenceError: Error #1069: Property container not found on flash.display.Stage and there is no default value. 

내 주요 코드입니다 : 내가 시도하고이 작업을 수행 할 때마다 내가 게임을 실행하지만 나에게 출력 오류 줄 것입니다 수 있습니다 여기

var dotContainer:MovieClip = new MovieClip; 
stage.addChild(dotContainer); 

그리고를위한 코드입니다 내 수업 :

package { 
    public class dotMaker extends MovieClip 
    { 
     var dot:MovieClip = new Dot; 
     Object(root).dotContainer.addChild(dot); 
    } 
} 

어떤 도움을 주시면 감사하겠습니다!

+0

'dotContainer' 코드가 타임 라인에 있습니까? –

+0

예 @RajneeshGaikwad – Lukaspukas

답변

0

클래스를 사용 중이므로 무대에 추가 한 항목을 알 수 없습니다. 그래서 당신은 name 속성을 사용하고 그런 식으로 그것을 얻을해야합니다

var dotContainer:MovieClip = new MovieClip; 
dotContainer.name = 'dotContainer'; 
stage.addChild(dotContainer); 


package { 
    public class dotMaker extends MovieClip 
    { 
     var dot:MovieClip = new Dot; 
     (Object(root).getChildByName('dotContainer') as DisplayObjectContainer).addChild(dot); 
    } 
} 

당신은 같은 일을 할 꽤 좋은 아니라는 것을 알아야한다. 다음과 같이 사용하는 것이 좋습니다.

public class dotMaker extends MovieClip { 
    var _container:DisplayObjectContainer; 

    public function dotMaker(container:DisplayObjectContainer) { 
     _container = container; 
     _container.addChild(new Dot()); 
    } 
} 

따라서 컨테이너를이 클래스에 전달하여 작업 할 수 있도록하십시오. 또 다른 이상한 점은 생성자를 사용하지 않는다는 것입니다.

+0

고마워요! 이 질문에 생성자를 넣는 것을 잊어 버렸습니다. – Lukaspukas

관련 문제