我是编程新手,尤其是Corona SDK(Lua)。我需要帮助! 问题是: 我在阵列中有10个图像和一个按钮,同时点击我需要删除前一个图像的按钮,并显示存储在数组中的下一个图像。 我做了所有,但在点击下一个图像时,下一个图像很好,但前一个图像没有从屏幕中删除,我想删除它, 还有一件事是在完成第10张图像后,我喜欢从图像1开始,就像一个循环。
local Next = function()
for j = 1, 10 do
j=j+1
end
return true
end
local dotted = {"images/1.png", "images/2.png","images/3.png","images/4.png","images/5.png",
"images/6.png","images/7.png","images/8.png","images/9.png","images/10.png"}
local nextButton = widget.newButton{
left = display.contentWidth/1.25,
top = display.contentHeight - 55,
defaultFile="images/next.png",
width = 50, height = 50,
onRelease = Next}
j = 1
function loadingImages1()
di = display.newImageRect(dotted[j],150,300);
di.x = calcx(40,"PER")
di.y = calcx(30,"PER")
di.height = calch(60,"PER")
di.width = calcw(20,"PER")
j = j + 1
end
local function onObjectTap( self,event )
--di1.removeSelf();
di1:removeSelf();
loadingImages1()
return true
end
nextButton:addEventListener( "tap", onObjectTap )
答案 0 :(得分:0)
我认为您不需要Next功能。你应该通过di1你的意思是di然后removeSelf()应该足以让它从视图中消失。此外,我没有看到任何代码在第一次点击之前初始化di。你应该有像
这样的东西local nextIndex = 1
local dotted = {....}
local di -- avoid globals
local function loadingImages1()
di = display.newImageRect(dotted[nextIndex],150,300);
... set x, y, height, width; then:
-- update next index, cycle back to 1 if necessary
nextIndex = nextIndex + 1
if nextIndex > #dotted then
nextIndex = 1
end
end
loadingImages1() -- run once to initialize
local function onObjectTap( self,event )
di:removeSelf() -- remove di
loadingImages1()
return true
end