Lua 在corona sdk中的任意位置创建随机图像
我在corona中使用以下代码在随机位置创建随机图像 每次我运行我的代码,但当我运行代码时,我会得到所有随机选择的结果 屏幕上相同位置的图像 这是我的代码,请给出建议。。提前谢谢 ----在“创建场景”中,此代码用于放置Lua 在corona sdk中的任意位置创建随机图像,lua,coronasdk,Lua,Coronasdk,我在corona中使用以下代码在随机位置创建随机图像 每次我运行我的代码,但当我运行代码时,我会得到所有随机选择的结果 屏幕上相同位置的图像 这是我的代码,请给出建议。。提前谢谢 ----在“创建场景”中,此代码用于放置 letterHolder = {} numOfImages = 10 for i=1,numOfImages do letterHolder[i] = display.newImageRect("images/myImage.png", 20, 20) le
letterHolder = {}
numOfImages = 10
for i=1,numOfImages do
letterHolder[i] = display.newImageRect("images/myImage.png", 20, 20)
letterHolder[i].x = math.random(0, display.contentWidth)
letterHolder[i].y = math.random(0, display.contentHeight)
end
试试下面的方法。这可能会帮助您:
local letterHolder = {}
local numOfImages = 10
local xPosArray = {}
local yPosArray = {}
local randX,randY = 0,0
local xExists,yExists = 0,0
local function positionImages(i)
randX = math.random(display.contentWidth)
randY = math.random(display.contentHeight)
if(i==1)then
xPosArray[i] = randX
yPosArray[i] = randY
else
xExists = table.indexOf( xPosArray, randX )
yExists = table.indexOf( yPosArray, randY )
if(xExists~=nil and yExists~=nil and xExists==yExists)then
print("Place already occuped")
positionImages(i)
else
print("Can place here")
xPosArray[i] = randX
yPosArray[i] = randY
end
end
end
for i=1,numOfImages do
letterHolder[i] = display.newImageRect("images/myImage.png", 20, 20)
positionImages(i)
end
我试过你的代码,看起来还可以,它们在不同的位置随机出现,你能详细说明你的问题吗?这就是你粘贴的全部代码吗?我在和randomseed打交道时也遇到过类似的问题。randomseed的问题是,对于同一个种子,您将得到相同的随机数集。无论如何如果这就是全部,请尝试在for循环之前添加math.randomseed(os.time())。确保每秒调用此代码的次数不超过一次!