我有一个设置视图,我想滑过我的主游戏视图,但只是部分滑过,以便主视图在设置视图后面仍然可见(有点像模式对话框)然后主游戏视图将变暗(或模糊)稍微如此明显,它不再活跃。
是否可以使用场景来实现这种效果?我真的希望将设置视图的代码与主视图的代码分开。如果不是场景,那么我可以查看任何其他建议或示例。
我有一个设置视图,我想滑过我的主游戏视图,但只是部分滑过,以便主视图在设置视图后面仍然可见(有点像模式对话框)然后主游戏视图将变暗(或模糊)稍微如此明显,它不再活跃。
是否可以使用场景来实现这种效果?我真的希望将设置视图的代码与主视图的代码分开。如果不是场景,那么我可以查看任何其他建议或示例。
我设法使用源视图中按钮的点击事件处理程序中的以下代码使其工作:
local options =
{
effect = "zoomOutIn",
time = 200,
isModal = true,
}
storyboard.showOverlay( "scenes.settings", options )
使用 isModal=true 可以防止对覆盖视图的任何点击向下传播到仍显示在覆盖视图下方的原始视图上。这是一个解释如何创建覆盖视图的教程:http: //www.coronalabs.com/blog/2012/04/27/scene-overlays-and-parameter-passing/
对的,这是可能的。我给你一个样本:
-- main.lua --
local storyboard = require "storyboard"
storyboard.gotoScene( "scene1", "fade", 400 )
-- 设置.lua --
local function myObject(group,x,y,imagePath)
local image = display.newImage( imagePath )
image.x, image.y = x, y
group:insert( image )
-- add motion (if needed) --
transition.to(image, {time=1000, x=display.contentWidth/2, y=0, transition=easing.inOutQuad})
-- add Listener --
image:addEventListener("touch", function() print("imageClicked") end )
end
local status = { myObject = myObject }
return status
-- Gamemenu.lua -- (这是你的游戏场景)
local storyboard = require( "storyboard" )
local scene = storyboard.newScene()
function scene:createScene( event )
-- create a display group --
local screenGroup = self.view
settings.myObject(screenGroup, display.contentWidth/2, -(display.contentHeight/2), "bg.jpg")
screenGroup:insert( bg )
-- require object page --
local settings = require "settings"
-- call object --
settings.myObject(screenGroup, 200, 100, "Icon.png")
end
scene:addEventListener( "createScene", scene )
return scene
继续编码............ :)