如何用作曲家降低叠加背后的alpha?

时间:2014-05-29 16:02:45

标签: lua corona

我目前正试图弄清楚如何在显示叠加层时通过减少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文件中隐藏叠加层?有没有更简单的方法呢?

1 个答案:

答案 0 :(得分:1)

执行此操作的最佳方法是在叠加场景中绘制黑色矩形并为其指定alpha值。这为褪色的父级场景提供了一个很好的错觉。