在Corona SDK中的随机图像。

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

我想点击按钮并让3个图片中的1个出现。每次我点击按钮,我想在上一个图片的位置上出现新的随机图片... ...看起来很简单,但我正在为此失去头发,快要放弃了... ...有人可以帮我做到这一点吗?我想学习,所以如果你决定帮我,请注释代码... ...提前感谢。

到目前为止,我有:

display.setStatusBar(display.HiddenStatusBar) - 隐藏状态栏

--插入背景
local bgImg = display.newImageRect(“images / myBG.jpg”,625,450)
bgImg.x = display.contentCenterX  - 在X上居中背景
bgImg.y = display.contentCenterY  - 在Y上居中背景

--经文引用
myTable ={
  display.newImage(“images / btnLogo1.png”),
  显示新图片(“images / btnLogo2.png”),
  显示新图片(“images / btnLogo3.png”),
}

randomPicture = myTable [math.random1,3)]
点赞
用户1925928
用户1925928

这应该可以工作:

-- 圣经经文引用
myTable = {
"images/btnLogo1.png",
"images/btnLogo2.png",
"images/btnLogo3.png",
}

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

我希望你不需要关于这个的解释 :)

2014-04-20 19:08:57
用户1979583
用户1979583

如果你的图片名称是连续的,比如 img_1img_2img_3 等等...那么你可以使用以下方法:

-- 显示一张图片
local myImage = display.newImageRect("images/btnLogo1.png",50,50)
myImage.x = display.contentWidth/2
myImage.y = display.contentHeight/2

-- 当点击按钮时调用此函数
function imageChangeFunction()
  -- 移除之前的图片
  if(myImage)then myImage:removeSelf() end
  -- 用新图片创建 sprite 对象
  myImage = display.newImageRect("images/btnLogo"..math.random(3)..".png",50,50)
  myImage.x = display.contentWidth/2
  myImage.y = display.contentHeight/2
  print("图片已更换...")
end
-- 此处我将监听器分配给 Runtime,你可以为你的按钮更改它
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

2014-04-21 06:51:30