2013-08-19 3 views
0

안녕하세요,이 질문은 여전히 ​​저를 괴롭 히고 있습니다. 그것은 단순 해 보인다. 링크 클래스 "Box.as"와 "Circle.as"에 연결된 다른 클래스가있는 라이브러리와 무대에 영화 클립이 있습니다. Circle.as에서 Box.as의 동영상 클립에 액세스하고 싶습니다.링크 된 클래스가있는 동적/정적 영화 클립에 액세스하는 방법은 무엇입니까?

public class Circle extends MovieClip 
{ 
    private var _circle:MovieClip; 
    private var _box:Box; 


    public function Circle() 
    { 
     _circle = new MovieClip(); 

     if (stage) onStage(); 
     else this.addEventListener(Event.ADDED_TO_STAGE,onStage); 


    } 
    private function onStage(e:Event = null) 
    { 
     _circle = stage.getChildByName("blue_circle") as MovieClip; 
     this.addEventListener(Event.ENTER_FRAME,hitTarget); 

    } 

    private function hitTarget(e:Event):void 
    { 

     if (_circle.hitTestObject(_box.mc)) //test if 2 movieclips are colliding 
     { // _box.mc is just created the same as _circle 
      trace("hi"); 
     } 

    } 

이 코드는 작동하지 않습니다. 무비 클립이 무대 위 (인스턴스 이름 없음)에 있지 않아도 액세스 할 수있는 인스턴스를 사용하려고했습니다.
희망을 보내 주시면 감사하겠습니다. 감사.

답변

0

당신이 정말 가까이있는 것처럼 보입니다! 클래스 Box의 새 인스턴스를 만드는 것을 잊었습니다. 다만 추가하려면 public function Circle() 내부 그래서

_box = new Box(); 

는 작동하는지 알려주세요. 그렇지 않은 경우,

전체 코드는 다음과

public class Circle extends MovieClip 
{ 
    private var _circle:MovieClip; 
    private var _box:Box; 


    public function Circle() 
    { 
     _box = new Box(); 
     _circle = new MovieClip(); 

     if (stage) onStage(); 
     else this.addEventListener(Event.ADDED_TO_STAGE,onStage); 


    } 
    private function onStage(e:Event = null) 
    { 
     _circle = stage.getChildByName("blue_circle") as MovieClip; 
     this.addEventListener(Event.ENTER_FRAME,hitTarget); 

    } 

    private function hitTarget(e:Event):void 
    { 

     if (_circle.hitTestObject(_box.mc)) //test if 2 movieclips are colliding 
     { // _box.mc is just created the same as _circle 
      trace("hi"); 
     } 

    } 
+0

오 모양을 ... 당신의 연결에 문제가있을 수 있습니다! 미안하지만, 나는 그걸 내 게시물에 추가하는 것을 잊어 버렸다. 그러나 그것은 실제 코드에서 작동했지만 여전히 효과가 없습니다. 또한 _box.mc 또는 _circle을 추적하려고 시도했지만 null을 추적합니다. –

+0

만약 당신이 올바르게 연결한다면, 나는 당신이 필요로하는 모든 것이 긍정적이라는 것을 알았습니다. 나는 백만 번했습니다. 클래스가 올바른 패키지에 있는지 다시 확인하고, 변수를 연결할 때 올바르게 캡슐화하고 올바른 이름으로 파일을 저장했습니다. 어쩌면 오류가 게시 될 수도 있습니다. 말하고있다 null 개체에 액세스 할 수 없습니다? – spaderdabomb

+0

당신은 뭔가를 가져 오지 않았을 수도 있습니다 ... 당신이 모든 올바른 수입을했는지 확인하십시오. 그리고 한 가지 더 시도하십시오. addChild (_box)를 시도한 다음 코드를 실행하고 적어도 작동하는지 확인하십시오. – spaderdabomb