3.10 不影响 忽略

removeChildByTag 的tag是int 但是有的节点使用的是unsigned int
const unsigned int kSceneFade = 0xFADEFADE;
void TransitionFade::onExit()
{
TransitionScene::onExit();
this->removeChildByTag(kSceneFade, false);
}
这个地方会崩溃

void Node::removeChildByTag( int tag, bool cleanup/* = true */)
{
CCASSERT( tag != Node::INVALID_TAG, “Invalid tag”);

Node *child = this->getChildByTag(tag);

if (child == nullptr)
{
    CCLOG("cocos2d: removeChildByTag(tag = %d): child not found!", tag);
}

如果重现崩溃呢?

没有的。是因为我连续切换了两次场景导致的, 正常使用是OK。

现在又遇到一个问题,3D模型直接create是通过getContentSize获取到宽高的。
但是异步创建CreateAsyn的3D模型,getContentSize后宽高一直是0

引擎只有 create的时候有赋值
Sprite3D* Sprite3D::create(const std::string& modelPath)
{
CCASSERT(modelPath.length() >= 4, “invalid filename for Sprite3D”);

auto sprite = new (std::nothrow) Sprite3D();
if (sprite && sprite->initWithFile(modelPath))
{
    sprite->_contentSize = sprite->getBoundingBox().size;
    sprite->autorelease();
    return sprite;
}
CC_SAFE_DELETE(sprite);
return nullptr;

}

我自己先修改好了