类型 函数 库 composer.* 返回值 无 修订 版本 2024.3703 关键词 composer, 场景, 叠加层, hideOverlay 另请参阅 composer.showOverlay()
此函数用于隐藏/移除当前的叠加场景(参见 composer.showOverlay()),如果当前正在显示叠加场景的话。
当一个叠加层被隐藏时,一个特定于叠加层的场景 `event` 参数,event.parent,将会被派发到该叠加场景。此参数为您提供对父场景对象的引用,以便您可以在其中调用函数/方法。有关使用案例,请参阅示例部分。
composer.hideOverlay( [recycleOnly] [, effect] [, time] )
布尔值。 如果设置为 `true`,则该场景将仅被回收(`self.view` 显示组将被移除,但场景对象将保留在内存中)。如果您打算在不久的将来再次显示叠加层,则将此设置为 `true` 很有用。默认值为 `false`,这意味着叠加场景将被完全移除,包括其场景对象。
字符串。 应用于叠加层在其隐藏之前的视觉过渡效果。可以在 composer.gotoScene() 文档中查看过渡效果列表。
数字。 如果已指定有效效果,则为效果的持续时间。默认值为 `500` 毫秒。
-- ---------------------------------------------------------------------------- -- In "scene1.lua" (parent scene) -- ---------------------------------------------------------------------------- local composer = require( "composer" ) local scene = composer.newScene() -- Custom function for resuming the game (from pause state) function scene:resumeGame() --code to resume game end -- Options table for the overlay scene "pause.lua" local options = { isModal = true, effect = "fade", time = 400, params = { sampleVar = "my sample variable" } } -- By some method (a pause button, for example), show the overlay composer.showOverlay( "pause", options ) return scene -- ---------------------------------------------------------------------------- -- In "pause.lua" -- ---------------------------------------------------------------------------- local composer = require( "composer" ) local scene = composer.newScene() function scene:hide( event ) local sceneGroup = self.view local phase = event.phase local parent = event.parent --reference to the parent scene object if ( phase == "will" ) then -- Call the "resumeGame()" function in the parent scene parent:resumeGame() end end -- By some method (a "resume" button, for example), hide the overlay composer.hideOverlay( "fade", 400 ) scene:addEventListener( "hide", scene ) return scene