我试图找出如何产生随机数量的单元格,但每次运行程序时,我总是只得到一个单元格。
为什么产生的细胞数量总是1,它可以达到50? (因为我把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 :(得分:0)
您需要在循环内移动实例创建代码( var myCell:Cell = new Cell(); )以创建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
}