布局是这样的
在这个场景中,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
版权属于:东哥笔记 - DongGe.org
本文链接:https://dongge.org/blog/105.html
自2017年12月26日起,『转载以及大段采集进行后续编辑』须注明本文标题和链接!否则禁止所有转载和采集行为!