在Cocos2d-x 3.17版本中,CCMenu类已经被废弃,取而代之的是Menu类。因此,CCMenu::itemForTouch(touch)方法也被移除了。

在Cocos2d-x 3.17版本及更高版本中,你可以使用Menu::getItemForTouch(touch)方法来获取被点击的菜单项。以下是一个示例代码:

bool YourScene::onTouchBegan(cocos2d::Touch* touch, cocos2d::Event* event)
{
    if (event->getCurrentTarget() != yourMenu)
        return false;

    MenuItem* item = yourMenu->getItemForTouch(touch);
    if (item && item->isEnabled())
    {
        // 处理菜单项被点击的逻辑
        return true;
    }

    return false;
}

请确保你的代码中使用的是正确的Cocos2d-x版本,并且按照最新的API文档进行开发

cocos2dx20升级到cocos2dx 317后CCMenu的itemForTouchtouch 提示 No member named itemForTouch in cocos2dMenu

原文地址: https://www.cveoy.top/t/topic/igGU 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录