addChild() 전에 retain()을 호출해야하는 이유를 누구나 알 수 있습니까? addChild를 호출하면 풀이 관리됩니다. 우리가 추가 한 CCNode는 왜 우리가 그것을 유지하고 스스로 해결해야 하는가?Cocos2d-X 왜 addChild() 전에 add()를 호출해야합니까?
bool GameOverScene::init()
{
if(CCScene::init())
{
this->_layer = GameOverLayer::create();
this->_layer->retain();
this->addChild(_layer);
return true;
}
else
{
return false;
}
}
GameOverScene::~GameOverScene()
{
if (_layer)
{
_layer->release();
_layer = NULL;
}
}
아마도 우리는 CCNode * 인 클래스 멤버 변수를 얻은 후에 응답을 유지해야할까요? – Sunderr
실제로 유지 및 해제 호출을 제거하더라도 모두 제대로 작동해야합니다. 노드는 일부 상위 항목에 추가 된 후에 유지됩니다. 물론, 부모가 존재할 때까지. – Morion
@Morion : 확실하지만 그것에 의존하기 쉽습니다. 인스턴스 변수를 일반적인 규칙으로 유지하는 것이 항상 쉽고, 특정 변수가 다른 것에 의해 유지 될 수 있는지 여부를 생각할 필요가 없습니다. – newacct