2013-12-21 3 views
-1

Я пытаюсь выяснить, как порождать случайное число ячеек, но каждый раз, когда я запускаю программу, я всегда получаю только одну ячейку.Нересткое случайное число мувиклипов - функция не работает?

Как получилось, что число ячеек было 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

Вам нужно переместить код создания экземпляра (вар myCell: 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   

} 
+0

Спасибо так много! Ты лучший. Я понятия не имел, что нужно вставить переменную внутри цикла. Спасибо! – user3123633

Смежные вопросы