2013-05-03 50 views
0

嘿,我試圖從卡片列表中隨機地添加影片剪輯,沒有1-10, 這是我迄今試過的,但我得到一個錯誤,說它的我隨機選擇的卡是不是一個函數,只是想知道如果有人能幫助或知道完成它的正確方法 謝謝添加動畫片段從隨機生成沒有數組

var printArray:Array =new Array(); 
var randPrint:String; 

var rand 
for(var n:int = 1; n <= 28; n++) 
{ 
    randNo=Math.round(Math.random() * 10+.5); 
    randPrint = "cardPrint"+randNo; 
    printArray.push(randPrint); 
} 

var cardPrint1:MovieClip = new card_1(); 
var cardPrint2:MovieClip = new card_2(); 
var cardPrint3:MovieClip = new card_3(); 
var cardPrint4:MovieClip = new card_4(); 
var cardPrint5:MovieClip = new card_5(); 
var cardPrint6:MovieClip = new card_6(); 
var cardPrint7:MovieClip = new card_7(); 
var cardPrint8:MovieClip = new card_8(); 
var cardPrint9:MovieClip = new card_9(); 
var cardPrint10:MovieClip = new card_10(); 



for(var p:int = 1; p <= 1; p++) 
     { 

      trace(printArray[p]); 
      addChild(printArray[p]); 

     } 

一些幫助將是巨大的,非常感謝你

回答

2

我認爲有些事情像下面將做你想要的。我使用所有可用資產填充數組,然後用0-9之間的隨機數填充數組。最後一個for循環只是創建影片剪輯並將它們添加到舞臺。

var printArray:Array = []; 

var mcs:Array = [card_1, card_2, card_3, card_4, card_5, card_6, card_7, card_8, card_9, card_10]; 

for(var n:int = 1; n <= 28; n++) 
{ 
    var randNo:int = int(Math.random() * 10); 
    printArray.push(randNo); 
} 

for(var p:int = 0; p < printArray.length; p++) 
{ 
    trace(printArray[p]); 
    var mc:MovieClip = new mcs[printArray[p]]; 
    addChild(mc); 
} 
+0

這是完美的,太感謝你了,我一直都撲我的頭了一段時間,剛開始接觸AS3,太感謝你了 – user2344403 2013-05-03 14:24:23

+0

不客氣! :) – 2013-05-03 14:25:12