私はタイル マップの 3 つのレイヤーを使用しており、これらのレイヤーに視差効果を与えたいと考えています。私のコードは次のとおりです。
CCTMXTiledMap *city = CCTMXTiledMap::create("City.tmx");
CCTMXLayer* ForegroundLayer = city->layerNamed("ForeGround");
CCTMXLayer* BackgroundLayer1 = city->layerNamed("Background1");
CCTMXLayer* BackgroundLayer2 = city->layerNamed("Background2");
CCParallaxNode* voidNode = CCParallaxNode::create();
// NOW add the 3 layers to the 'void' node
voidNode->addChild(BackgroundLayer2, -1, ccp(0.4f,0.5f), CCPointZero);
voidNode->addChild(BackgroundLayer1, 1, ccp(2.2f,1.0f), ccp(0,-200) );
voidNode->addChild(ForegroundLayer, 2, ccp(3.0f,2.5f), ccp(200,800) );
voidNode->runAction(temp); //some action temp
addChild(voidNode);
アサーションが失敗しました: child->m_pParent==0 TMXLayers の代わりにスプライトを使用すると、同じコードが機能します。このコードで何が間違っていたのですか?