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

        }

一些帮助会很棒,非常感谢

4

1 回答 1

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);
}
于 2013-05-03T14:18:40.107 回答