Skip to main content
deborahb44958436
Inspiring
September 16, 2015
Answered

Loop through random numbers

  • September 16, 2015
  • 1 reply
  • 485 views

I'm trying to spread 8 balls on the stage with an uneven space between them within a range. using  myNum variable in this statement ball.x = 150 + i * myNum; inside for loop I was hopping that it will spread each of the 8 balls in an uneven space. However this is not what happening, instead it position 8 balls with an even space and then about a minute later it positions another set of 8 balls with different spacing.

var minLimit: int = 25;

var maxLimit: int = 43;

var range: int = maxLimit - minLimit;

var myNum: Number = Math.ceil(Math.random() * range) + minLimit;

var balls: Array = [],

  ball: bomb30a;

for (var i: int = 0; i < 8; i++) {

  ball = new bomb30a();

  ball.x = 150 + i * myNum;

  ball.y = 242;

  balls.push(ball);

  addChild(ball);

}

This topic has been closed for replies.
Correct answer kglad

use:

var minLimit: int = 25;

var maxLimit: int = 43;

var range: int = maxLimit - minLimit;


function spacingNumF():Number{

return Math.ceil(Math.random() * range) + minLimit;

}

var balls: Array = [],

  ball: bomb30a;

for (var i: int = 0; i < 8; i++) {

  ball = new bomb30a();

  ball.x = 150 + i * spacingNumF();

  ball.y = 242;

  balls.push(ball);

  addChild(ball);

}

1 reply

kglad
Community Expert
kgladCommunity ExpertCorrect answer
Community Expert
September 16, 2015

use:

var minLimit: int = 25;

var maxLimit: int = 43;

var range: int = maxLimit - minLimit;


function spacingNumF():Number{

return Math.ceil(Math.random() * range) + minLimit;

}

var balls: Array = [],

  ball: bomb30a;

for (var i: int = 0; i < 8; i++) {

  ball = new bomb30a();

  ball.x = 150 + i * spacingNumF();

  ball.y = 242;

  balls.push(ball);

  addChild(ball);

}

deborahb44958436
Inspiring
September 16, 2015

Perfect. Thank you so much.

kglad
Community Expert
Community Expert
September 17, 2015

you're welcome.