2013-12-21 71 views
-1

我想弄清楚如何產生一個隨機數的單元格,但每次運行程序時,我總是隻以一個單元結束。產生隨機數的動畫片段 - 函數不起作用?

當它可以達到50時,細胞產生的數量總是爲1? (因爲我把p變量設置爲1到50之間的一個隨機數)。

var myCell:Cell = new Cell(); 

var minLimit:uint = 1; 
var maxLimit:uint = 50; 
var range:uint = maxLimit - minLimit; 
var p:Number = Math.ceil(Math.random()*range) + minLimit; 

for (p; p < maxLimit; p += 1) 
{ 
    addChild(myCell); 
    myCell.x = xp 
    myCell.y = xp 
    myCell.scaleX = 6 
    myCell.scaleY = 6 

    var xminLimit:uint = 100; 
    var xmaxLimit:uint = 400; 
    var xrange:uint = xmaxLimit - xminLimit; 
    var xp:Number = Math.ceil(Math.random()*xrange) + xminLimit; 



} 

回答

0

你需要移動實例創建代碼(VAR了myCell:細胞=新小區();)在循環內創建實例的數量MAXLIMIT代替你只創建一個外循環實例。

試試這個,

var minLimit:uint = 1; 
var maxLimit:uint = 50; 
var range:uint = maxLimit - minLimit; 
var p:Number = Math.ceil(Math.random()*range) + minLimit; 

for (p; p < maxLimit; p += 1) 
{ 
    var myCell:Cell = new Cell(); 
    var xminLimit:uint = 100; 
    var xmaxLimit:uint = 400; 
    var xrange:uint = xmaxLimit - xminLimit; 
    var xp:Number = Math.ceil(Math.random()*xrange) + xminLimit; 
    addChild(myCell); 
    myCell.x = xp 
    myCell.y = xp 
    myCell.scaleX = 6 
    myCell.scaleY = 6   

} 
+0

太謝謝你了!你是最棒的。我不知道必須把變量放在循環中。謝謝! – user3123633