屏幕快照 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




☟☟可点击下方广告支持一下☟☟

最后修改:1970 年 01 月 01 日
请我喝杯可乐,请随意打赏: ☞已打赏列表