Math.random特定值corona sdk

时间:2014-05-07 11:55:40

标签: random lua corona

我有一组预先声明的值来设置对象的特定旋转。

local rotations = {900,-900}

并希望我的块的spawn函数从这个函数中随机选择一个或另一个:

local blocks = {}
timerSrc = timer.performWithDelay(1200, createBlock, -1)

function createBlock(event)
   b = display.newImageRect("images/block8.png", 20, 150)
   b.x = 500
   b.y = math.random(100,250)
   b.name = 'block'
   physics.addBody(b, "static")
   transition.to( b, { rotation = math.random(rotations), time = math.random(2700,3700)} )
   blocks:insert(b)
end

当我使用时:

 rotation = math.random(-900,900)

它只选择2个数字之间的任何值而不是1或另一个。我该怎么做才能正确?

1 个答案:

答案 0 :(得分:4)

如果m是整数值,math.random(m)将随机返回范围[1,m]中的整数。因此math.random(2)会随机返回整数12

要生成900-900的随机数,请使用:

rotation = math.random(2) == 1 and 900 or -900