2010-12-17 5 views
0

나는 동적 드래그 앤 드롭 게임을 만들고있다. 드래그 드롭 코드가 포함 된 드래그 된 항목에 대한 클래스가 있습니다.doc 클래스 AS3에서 스테이지의 무비 클립을 대상으로 지정하는 방법은 무엇입니까?

제 문제는 히트 테스트 문에서 이미 무대에 올린 무비 클립을 호출하거나 액세스 할 수 없다는 것입니다.

당신은 설정 -> 플래시 -> 설정 (버튼) 게시로 이동하고 선택해야
package { 
import flash.display.MovieClip; 
import flash.events.MouseEvent; 
import flash.text.TextField; 




public class recipeMC extends MovieClip { 



    private var startX:Number; 
    private var startY:Number; 
    private var counter:Number=0; 




    public function recipeMC() { 
    this.mouseChildren = false; 
    this.buttonMode = true; 
    this.addEventListener(MouseEvent.MOUSE_DOWN, pickUp); 
    this.addEventListener(MouseEvent.MOUSE_UP, dropIt); 
    } 
    private function pickUp(event:MouseEvent):void { 
    this.startDrag(true); 
    this.parent.addChild(this); 
    startX = this.x; 
    startY = this.y; 

    } 
    private function dropIt(event:MouseEvent):void { 
    this.stopDrag(); 



    *****if (this.hitTestObject(target1_mc) 
    ||this.hitTestObject(target2_mc))***** { 
    this.removeEventListener(MouseEvent.MOUSE_DOWN, pickUp); 
    this.removeEventListener(MouseEvent.MOUSE_UP, dropIt); 
    this.buttonMode = false; 
    this.x = myTarget.x; 
    this.y = myTarget.y; 
    counter++; 
    } else { 
    //reply_txt.text = "Try Again!"; 
    this.x = startX; 
    this.y = startY; 
    } 

    } 
} 
} 

답변

1

"자동으로 단계를 선언 : 여기

내 코드와 target1_mc 무대에서 기존 동영상 클립이 있습니다 & target2_mc입니다 인스턴스. " 그 트릭을해야합니다.

편집은 recieptMovieClip 클래스 내에서이 시도 :

MovieClip(root).target1_mc 
MovieClip(root).target2_mc 

을이 당신이 변수에 무비 클립 (루트)를 저장할 수있는 입력 성가신 때문입니다. movieClip이 표시 목록에 없으면 root 속성이 존재하지 않는다는 점에 유의해야합니다. 따라서 클래스에 addChild()가 추가 될 때까지는 작동하지 않습니다.

다른 방법은 문서 클래스를 사용하고 기본 타임 라인에 대한 참조를 정적 변수에 저장하는 것입니다. 나는 그것에 대해 한 번 블로그 포스트를 썼다. 당신이 블로그 게시물에 기술을 사용하는 경우 Have a look

이 같은 어디에서 기본 타임 라인에 액세스 할 수 있습니다 : 도움이

Main.display.target1_mc 

희망을. 필요하다면 예제를 업로드 할 수 있습니다.

+0

이 선택되었지만 여전히 동일한 문제가 있습니다 – Hatem

+0

오류가 "정의되지 않은 속성 target1_mc에 대한 액세스" – Hatem

+0

에 대해 movieClip에 target1_mc라는 인스턴스 이름을 부여했는지 확인 했습니까? 어딘가에 파일을 업로드해야 볼 수 있습니다. – Zevan

관련 문제