在Cocos2dx中使用Widget时,EXC_BAD_ACCESS onTouchEnded

时间:2014-10-03 02:15:24

标签: c++ cocos2d-x

这是我的代码。我有第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;
      }
}

0 个答案:

没有答案