我目前正试图弄清楚如何在显示叠加层时通过减少alpha的alpha来淡化父屏幕,只是在叠加层消失后将alpha返回到1。
我似乎只能使用以下
function loreButtonTap:tap(e) transition.to(sceneGroup,{ alpha= .5, time= 400 })
composer.showOverlay("westerosLore", {
effect ="fromTop",
time = 800
})
loreTap = display.newRect(_W,_H,_W*2,_H*2);
display.getCurrentStage():setFocus(loreTap)
loreTap.alpha = 0;
loreTap.isHitTestable = true;
loreTap:addEventListener("tap", loreTap);
function loreTap:tap(e)
transition.to(sceneGroup,{
alpha= 1,
time= 400
})
composer.hideOverlay("slideUp",400);
display.getCurrentStage():setFocus(nil)
end
我正在从父窗口内部完成所有这些操作。问题是如果玩家快速按下loreButtonTap(快速加速),它会使游戏崩溃,声称composer.hideOverlay("slideUp",400);
已成为nil
。
我是否应该在叠加lua文件中隐藏叠加层?有没有更简单的方法呢?
答案 0 :(得分:1)
执行此操作的最佳方法是在叠加场景中绘制黑色矩形并为其指定alpha值。这为褪色的父级场景提供了一个很好的错觉。