这是我的代码。我有第1层包含按钮1,第2层包含按钮2.我正在使用UI从Cocos Studio导出的文件加载图层和按钮。我为2按钮添加了触摸功能,并在下面编写了touchEvent功能。但是,当我测试时,有时会导致EXC_BAD_ACCESS onTouchEnded。你知道为什么以及如何解决这个问题吗?
这个问题似乎很相似 http://discuss.cocos2d-x.org/t/bug-ui-button-cant-delete-it-self/16282
非常感谢
if (listener->onTouchEnded)
{
listener->onTouchEnded(*touchesIter, event); // EXC_BAD_ACCESS here
}
void FJPopupLayer::touchEvent(Ref *pSender, ui::Widget::TouchEventType type,
BUTTON_TAG button) {
switch (type) {
case ui::Widget::TouchEventType::BEGAN:
break;
case ui::Widget::TouchEventType::MOVED:
break;
case ui::Widget::TouchEventType::ENDED:
if (button == 1) {
// Remove the layer 2
// Add the layer 1
} else if (button == 2) {
// Remove the layer 1
// Add the layer 2
}
break;
case ui::Widget::TouchEventType::CANCELED:
break;
default:
break;
}
}