2016-04-13 7 views
0

私は子供たちに分数を学ぶためにアプリを開発しています。Actionscript 3.0コーディングが少ない

私にはいくつかのパイがあります。すべてのパイはフレーム1のタイムライン上と画面上の同じ場所にあるムービークリップの場所です。数字(2〜12)に応じて、パイが表示され、ユーザはそのピースをクリックして、質問に従っていくつかの部分を隠すことができます。

例:2/9個を表示します。だから、7個はユーザーが隠す必要があります。 2、3、4、5などのパイのように。コードは毎回同じように見えます。私はどのように私はこれより少ないコードで動作させることができますかと思います。

このコードをより少ない行に変換するにはどうすればよいですか?

if(number == 9) { 
    //pie 9 
    pie9_mc.visible = true; 
    pie9_mc.p9_p1_mc.alpha = 1; 
    pie9_mc.p9_p2_mc.alpha = 1; 
    pie9_mc.p9_p3_mc.alpha = 1; 
    pie9_mc.p9_p4_mc.alpha = 1; 
    pie9_mc.p9_p5_mc.alpha = 1; 
    pie9_mc.p9_p6_mc.alpha = 1; 
    pie9_mc.p9_p7_mc.alpha = 1; 
    pie9_mc.p9_p8_mc.alpha = 1; 
    pie9_mc.p9_p9_mc.alpha = 1; 

    pie_mc = pie9_mc; 
    pie9_mc.p9_p1_mc.addEventListener(MouseEvent.CLICK, hidePiece); 
    pie9_mc.p9_p2_mc.addEventListener(MouseEvent.CLICK, hidePiece); 
    pie9_mc.p9_p3_mc.addEventListener(MouseEvent.CLICK, hidePiece); 
    pie9_mc.p9_p4_mc.addEventListener(MouseEvent.CLICK, hidePiece); 
    pie9_mc.p9_p5_mc.addEventListener(MouseEvent.CLICK, hidePiece); 
    pie9_mc.p9_p6_mc.addEventListener(MouseEvent.CLICK, hidePiece); 
    pie9_mc.p9_p7_mc.addEventListener(MouseEvent.CLICK, hidePiece); 
    pie9_mc.p9_p8_mc.addEventListener(MouseEvent.CLICK, hidePiece); 
    pie9_mc.p9_p9_mc.addEventListener(MouseEvent.CLICK, hidePiece); 
}  

function hidePiece(e: MouseEvent): void{ 
    piece_mc = MovieClip(e.currentTarget); 
    var tweenFadeOut:Tween = new Tween(piece_mc, "alpha", None.easeOut, 1, 0.5, 2, true); 
} 

答えて

1
pie9_mc["p9_p1_mc"].alpha = 1; 

したがって

pie9_mc.p9_p1_mc.alpha = 1; 

あなたのコードと同じ作品は、次のコードのようにそれほどの行を変換します。

if(number == 9) { 
    //pie 9 
    pie9_mc.visible = true; 
    for (var i:int=1; i<=number; i++){ 
     var foo: String = "p"+number.toString()+"_p"+i.toString()+"_mc"; 
     pie9_mc[foo].alpha = 1; 
     pie9_mc[foo].addEventListener(MouseEvent.CLICK, hidePiece); 
    } 

    pie_mc = pie9_mc; 
} 

function hidePiece(e: MouseEvent): void{ 
    piece_mc = MovieClip(e.currentTarget); 
    var tweenFadeOut:Tween = new Tween(piece_mc, "alpha", None.easeOut, 1, 0.5, 2, true); 
} 
+0

ありがとうございます!コードを単純化するために必要なもの。 – Henrique