电晕sdk中的随机图像

时间:2014-04-20 18:05:09

标签: image random sdk lua corona

我有3张图片和1个按钮 -

我希望能够点击我的按钮并显示3张图片中的1张。每次我点击按钮,我想要一个新的随机图像出现在最后一个图像的地方......看起来很简单,但我失去了头发,我打算叫它退出.... ..任何人都可以帮我这样做吗?我想学习,所以如果您决定帮助我,请对代码进行评论....提前致谢。

到目前为止,我有:

display.setStatusBar( display.HiddenStatusBar ) -- hide status bar

--insert background
local bgImg = display.newImageRect( "images/myBG.jpg", 625, 450 ) 
bgImg.x = display.contentCenterX -- center bg on X
bgImg.y = display.contentCenterY -- center bg on Y

-- scripture references
myTable = {
  display.newImage("images/btnLogo1.png"), 
  display.newImage("images/btnLogo2.png"),
  display.newImage("images/btnLogo3.png"),
}

randomPicture = myTable[math.random(1,3)]

2 个答案:

答案 0 :(得分:1)

这应该有效:

-- scripture references
myTable = {
"images/btnLogo1.png",
"images/btnLogo2.png",
"images/btnLogo3.png",
}

local randomPicture = myTable[math.random(1,3)]
display.newImage(myTable[randomPicture])

我希望你不需要解释它:)

答案 1 :(得分:0)

如果您的图片名称是连续的,那就像img_1img_2img_3。等...然后你可以使用以下方法:

-- Display an image
local myImage = display.newImageRect("images/btnLogo1.png",50,50)
myImage.x = display.contentWidth/2
myImage.y = display.contentHeight/2

-- Call this function on button click
function imageChangeFunction()
  -- remove the previous image 
  if(myImage)then myImage:removeSelf() end
  -- creating the sprite with new image
  myImage = display.newImageRect("images/btnLogo"..math.random(3)..".png",50,50)
  myImage.x = display.contentWidth/2
  myImage.y = display.contentHeight/2
  print("Image changed...")
end
-- Here I am assigning the listener to Runtime, you can change it for your button
Runtime:addEventListener("tap",imageChangeFunction) 

注意:
math.random(3)为您提供1到3之间的随机数 ..用于连接。因此,"images/btnLogo"..math.random(3)..".png"会为您提供以下任意字符串:

  images/btnLogo1.png
  images/btnLogo2.png
  images/btnLogo3.png

有关详细信息,请访问:math.random()Corona String Operations