cocos2d-x弹出层上面加按钮不响应问题解决

屏幕快照 2015-04-02 下午6.10.32.png

布局是这样的

在这个场景中,this是一个 Layer1,然后在 Layer1上面加了一个 Layer2,然后在 Layer2上面加了一个 button

现在就是点击这个 button 居然没有响应,而如果直接把 button 加到 Layer1上面是有响应的,就是加到 Layer2上面之后被截断了

就是如上图,点击排行榜时被截断,没有效果

然后设置优先级也不可以,设置不让吞噬触摸也没有效果

最后找到了解决办法

需要在 Layer2的响应时间里面手动也调用一下 button 的响应时间,这样就可以了.

就是这样:

bool StartLayer::ccTouchBegan(CCTouch *pTouch, CCEvent *pEvent)
{
    Playbutton1->ccTouchBegan(pTouch, pEvent);
    return true;
}
void StartLayer::ccTouchMoved(CCTouch *pTouch, CCEvent *pEvent)
{
    Playbutton1->ccTouchMoved(pTouch, pEvent);
}
void StartLayer::ccTouchEnded(CCTouch *pTouch, CCEvent *pEvent)
{
    Playbutton1->ccTouchEnded(pTouch, pEvent);
}
void StartLayer::ccTouchCancelled(CCTouch *pTouch, CCEvent *pEvent)
{
    Playbutton1->ccTouchCancelled(pTouch, pEvent);
}

但是弊端就是 button 没有了点击放大的效果,更好地解决办法没有找到

这个同样适合于 menu



Last modification:January 1st, 1970 at 08:00 am
如果看了这个文章可以让你少加会班,可以请我喝杯可乐
已打赏名单
微信公众号

Leave a Comment