在 CoronaSDK 中尝试创建退出清单按钮

我目前正在开发一个需要清单系统的游戏。我无法想出如何为我创建的显示对象制作退出按钮。

以下是我的代码:

local Choose_slot = display.newImage("Images/choose_slot.png")
 Choose_slot.x = centerX + 96
 Choose_slot.y = 45

function choose_slot:tap ( event )
  Inventory_Screen = display.newRect( centerX, centerY, 1500, 1500 )
  Inventory_Screen:setFillColor( 0.3, 0.3, 0.3 )
end

local Exit_Button = display.newImageRect( "Images/Exit_Image.png", 32, 32)
Exit_Button.x = centerX + 255
Exit_Button.y = centerY - 135

function Exit_Inventory:tap ( event )
    Inventory_Screen:remove()
    Exit_Button:remove()
end

Exit_Inventory:addEventListener( "tap", Exit_Button)

Choose_slot:addEventListener( "tap", choose_slot)

仅供您参考,“Choose_slot”是显示清单的图像。我想做一个这样的东西,当“Inventory_Screen”出现时,“Exit_Inventory”按钮弹出来,当您点击它时,它会将“Inventory_Screen”和“Exit_Button”从屏幕上删除,并回到您之前单击清单的屏幕上!

点赞
用户3041972
用户3041972

这个任务最好在一个显示组中完成,这样你可以使用一行命令移除组中的所有对象。

按照以下步骤,将按钮和函数添加到你的代码中:

local function exitFunc(event) 
    Choose_slot:removeSelf() --添加你想要删除的任何对象 
    exitB:removeSelf() --如果需要,可以使用 object.isVisible = false,但它们仍然可能是可触摸的 
end 

exitB = widget.newButton
{
  width=135,
  height=60,
  defaultFile = "whatever.png",
  overFile = "whateverOver.png",
  label = "退出",
  onPress = exitFunc,
}
2016-03-18 05:04:22
用户3041972
用户3041972

图片是我将你的代码更改为以下内容后留下的:

function Choose_slot:tap ( event )

        Inventory_Screen = display.newRect( centerX, centerY, 1500, 1500 )
        Inventory_Screen:setFillColor( 0.3, 0.3, 0.3 )

        local function handleExitBEvent( event )   -- 错误在下面!

    if ( "ended" == event.phase ) then
        print( "Button was pressed and released" )
        print( "Removing Inventory!" )
        Choose_slot:removeSelf() -- 这个没有移除 --
        ExitB:removeSelf()
        Inventory_Screen:removeSelf()
        Inventory_Slot1:removeSelf()
    end
end

enter image description here

2016-03-31 12:19:01