2013-09-24 2 views

답변

6

귀하의 자녀가 장면에서 제거 된 후 간단하게 파괴 된 것으로 보입니다. cocos2d-x에는 parent에서 제거 된 후에이 스프라이트에 대한 참조 카운트를 줄이는 objective-c와 같은 참조 카운팅 시스템이 있습니다. 카운터가 0 값에 도달하면 노드가 파괴됩니다. 스프라이트 통화 scene->addChild(sprite);

sprite->retain(); 
scene->removeChild(sprite); 
scene->addChild(sprite); 
sprite->release(); 

당신은 자신에 의해 retain를 호출 할 때마다 이전에 null이 아닌지 확인하십시오, 당신은 누수를 방지하기 위해 후 해제를 호출해야합니다.

+0

감사합니다. null이 아닌 방법을 유지하는 방법을 알고 있습니까? 심지어 제거 되었습니까? –

+0

정말 고마워요 –

+0

당신을 환영합니다. 이 답변을 다른 사람이 쉽게 찾을 수 있도록 올바른 것으로 표시 할 수 있습니다. – Morion

1

유지해야 할 스프라이트를 제거한 후 다시 추가 한 후 해제해야합니다.

sprite->retain(); 
scene->removeChild(sprite); 
scene->addChild(sprite); 
sprite->release(); 
관련 문제