2012-04-11 43 views
0

有沒有辦法讓我想在舞臺上加載到數組中的所有動畫片段?AS3使用一個變量來加載所有動畫片段

if (selectDiffText.text == "Collection 1 Easy") 
    { 
     var c1_easy:cartoonEasy = new cartoonEasy(); 
     addChild(c1_easy); 
     c1_easy.x = 412; 
     c1_easy.y = 400; 
     TweenMax.from(c1_easy, 0.5, {alpha:0, ease:Expo.easeOut}); 
    } 
    else if (selectDiffText.text == "Collection 1 Medium") 
    { 
     var c1_medium:cartoonMedium = new cartoonMedium(); 
     addChild(c1_medium); 
     c1_medium.x = 412; 
     c1_medium.y = 400; 
     TweenMax.from(c1_medium, 0.5, {alpha:0, ease:Expo.easeOut}); 
    } 
    else if (selectDiffText.text == "Collection 1 Hard") 
    { 
     var c1_hard:cartoonHard = new cartoonHard(); 
     addChild(c1_hard); 
     c1_hard.x = 412; 
     c1_hard.y = 400; 
     TweenMax.from(c1_hard, 0.5, {alpha:0, ease:Expo.easeOut}); 
    } 
else{trace("ERROR!")} 

現在我在庫中有3個movieclip,它是cartoonEasy,cartoonMedium和cartoonHard。 我會將其中一個添加到階段,但具有不同的變量。 是否可以讓他們僅使用ONE變量的方式?它使用數組嗎?

因爲如果只使用1個變量,那麼我可以很容易地控制從庫調用的動畫片段內的對象。

我在想什麼是這樣的:

var c1_all:cartoonAll = new cartoonEasy() = new cartoonMedium() = new cartoonHard() 

回答

0

實際上可以使用的陣列。

var c1All:Array = [ 
    new cartoonEasy(), 
    new cartoonMedium(), 
    new cartoonHard() 
]; 

要應用代碼,所有這些對象,你可以這樣做的:

for each(var i:MovieClip in c1All) 
{ 
    addChild(i); 
    i.x = 412; 
    i.y = 400; 
    TweenMax.from(i, 0.5, {alpha:0, ease:Expo.easeOut}); 
} 

PS我建議使用throw new Error("message");而非trace("error")

+0

但這將在所有的MC添加...我需要的僅僅是MC的1只舞臺... – pizza0502 2012-04-11 05:54:45

+0

@ pizza0502然後,你可以做'的addChild(c1All [0]); '爲第二個添加第一個'c1All [1]'等等。 – Marty 2012-04-11 06:01:20

1
function addCartoon(obj:*):void{ // might change * to DisplayObject 
    addChild(obj); 
    obj.x = 412; 
    obj.y = 400; 
    TweenMax.from(obj, 0.5, {alpha:0, ease:Expo.easeOut}); 
} 

var obj:*; 
switch (selectDiffText.text){ // use switch since it is clean code 
    case "Collection 1 Easy": 
    obj = new cartoonEasy(); 
    case "Collection 1 Medium": 
    obj = new cartoonMedium(); 
    case "Collection 1 Hard": 
    obj = new cartoonHard(); 
    default: 
    trace("ERROR!") 
} 
if(obj){ 
    addCartoon(obj); 
} 






// manipulating obj will change the item on stage. 
obj.x = 500; 
相關問題