2013-05-03 54 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