2016-04-13 71 views
0

Çocuklar için kesirler öğrenmek için bir uygulama üzerinde çalışıyorum.Actionscript 3.0 kodlama daha az çizgiler

Adet olan birkaç börekim var. Tüm turtalar, kare 1'deki zaman çizelgesinde ve ekranda aynı yerde bulunan MovieClips yerleridir. Numaraya bağlı olarak (2'den 12'ye kadar) bir pasta görünür olacak ve bir kullanıcı soruya göre birkaç parçayı saklamak için parçaları tıklatabilecektir.

Örneğin: 2/9 adet göster. Yani 7 adet kullanıcı tarafından saklanmalıdır. 2, 3, 4, 5 adet ve benzeri bir pasta gibi. Kod her seferinde neredeyse aynı görünüyor. Bunun daha az kodla çalışmasına nasıl izin verebileceğimi merak ediyorum.

Bu kodu daha az satırlara nasıl dönüştürürüm?

pie9_mc.p9_p1_mc.alpha = 1; 

Dolayısıyla kod kod aşağıdaki gibi az satırları dönüştürmek olarak

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); 
} 

cevap

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

eserler aynı.

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

Teşekkür ederiz! Sadece kodu basitleştirmek için ihtiyacım olan şey. – Henrique