我有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)]
答案 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_1
,img_2
,img_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