2010-12-17 3 views
0

私は動的ドラッグアンドドロップゲームを作っています。 ドラッグドロップコードを含むドラッグされたアイテムのクラスがあります。ステージ上のムービークリップをdocクラスAS3からターゲティングする方法は?

私の問題は、私がヒットしたテストステートメントで既にステージに置いたムービークリップを呼び出したりアクセスしたりすることができないということです。ここで

は私のコードとtarget1_mc & target2_mcでステージ上の既存のムービークリップです:あなたは設定 - >フラッシュ・>設定(ボタン)を公開することに行くと自動的に舞台を宣言する」を選択する必要があり

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

インスタンス。それはトリックを行う必要があります。

EDIT

は、あなたのrecieptMovieClipクラス内にこれを試してみてください:

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

これはあなたが変数でのMovieClip(ルート)を格納することができます入力する面倒ですので。 movieClipが表示リストにない限り、ルートプロパティは存在しないことに注意することが重要です。だからあなたのクラスがaddChild()に追加されるまで、これは動作しません。

別の方法として、ドキュメントクラスを使用し、メインタイムラインへの参照を静的変数に格納する方法があります。私はそれについて一度ブログ記事を書いた。 Have a look

あなたはそのブログ投稿で技術を使用している場合は、どこにもこのようにメインのタイムラインにアクセスすることができました:

Main.display.target1_mc 

お役に立てば幸いです。私はあなたがそれらを必要とする場合は、例をアップロードすることができます。

+0

それでも同じ問題があります – Hatem

+0

「未定義のプロパティtarget1_mcへのアクセス」 – Hatem

+0

は、movieClipにインスタンス名target1_mcを指定したことを確認していますか?ファイルをどこかにアップロードして見せるようにしてください。 – Zevan

関連する問題