2016-12-30 18 views
0

次のActionScriptスクリプトの目的は、プレーヤーがボタンをクリックして移動できるようにすることです。myarrayは、移動が許可されている場所を表します。配列で番号を付けて番号を操作できるインスタンス名の取得方法は?

クリックイベントハンドラを正しく動作させるのに問題があります。たとえば、MouseEventイベントからクリックの座標を(x, y)というように抽出して、さらに処理するにはどうすればよいですか?

a.addEventListener(MouseEvent.CLICK, bergerak); 
b.addEventListener(MouseEvent.CLICK, bergerak); 
c.addEventListener(MouseEvent.CLICK, bergerak); 
d.addEventListener(MouseEvent.CLICK, bergerak); 

function bergerak (Event:MouseEvent) { 
    var namatombol:String = Event.currentTarget.name; 
    var myarray:Array = []; 
    for (var i:int = 0; i < 3; i++) { 
     myarray[i] = this["kotak" + i]; 
     if (namatombol == "a") { 
      MovieClip(root).pemain.x = MovieClip(root).myarray[i].x; 
      MovieClip(root).pemain.y = MovieClip(root).myarray[i].y; 
     } 
    } 
} 
+3

私は理解していません...何が問題なのですか? –

+2

変数を入れてくださいイベントは大文字ではなく、イベント –

+0

で始まります。私の問題は、x = MovieClip(ルート).myarray [i] .xのinstace名をどうやって取得するかです。 MovieClip(ルート).pemain.y = MovieClip(ルート).myarray [i] .y; ... myarray [i]はムービークリップのインスタンス名です。iはshape1、shape2、shape3のようなインスタンスの番号です。 – alasyariy

答えて

0

プレーヤの表示オブジェクト(MovieClipなど)をステージ上のクリックされたボタンの位置に移動させていただきましたことを理解しました。この場合、あなたの機能は次のようになります:

function bergerak(event:MouseEvent):void 
{ 
    MovieClip(root).pemain.x = event.target.x; 
    MovieClip(root).pemain.y = event.target.y; 
} 
+0

はtarget .x、target .yはpemain1.xと等しく、 pemain1.yとそれはpemain100.xとpemain100.xを続けますか? – alasyariy

+0

"pemain"とは何ですか?...これはプレーヤーの表示オブジェクトだと思います... – alshayal

+0

はい、インドネシア語のプレイヤーを意味します – alasyariy

関連する問題