scene->removeChild(sprite);//removeChild(sprite, false) and removeChild(sprite, true) all tried
scene->addChild(sprite);
스프라이트가 표시되지 않습니다. 무슨 일이야?cocos2d-x 제거 된 자식이 다시 추가되면 작동하지 않습니다.
scene->removeChild(sprite);//removeChild(sprite, false) and removeChild(sprite, true) all tried
scene->addChild(sprite);
스프라이트가 표시되지 않습니다. 무슨 일이야?cocos2d-x 제거 된 자식이 다시 추가되면 작동하지 않습니다.
귀하의 자녀가 장면에서 제거 된 후 간단하게 파괴 된 것으로 보입니다. cocos2d-x에는 parent에서 제거 된 후에이 스프라이트에 대한 참조 카운트를 줄이는 objective-c와 같은 참조 카운팅 시스템이 있습니다. 카운터가 0
값에 도달하면 노드가 파괴됩니다. 스프라이트 통화 scene->addChild(sprite);
sprite->retain();
scene->removeChild(sprite);
scene->addChild(sprite);
sprite->release();
당신은 자신에 의해 retain
를 호출 할 때마다 이전에 null이 아닌지 확인하십시오, 당신은 누수를 방지하기 위해 후 해제를 호출해야합니다.
감사합니다. null이 아닌 방법을 유지하는 방법을 알고 있습니까? 심지어 제거 되었습니까? –
정말 고마워요 –
당신을 환영합니다. 이 답변을 다른 사람이 쉽게 찾을 수 있도록 올바른 것으로 표시 할 수 있습니다. – Morion
유지해야 할 스프라이트를 제거한 후 다시 추가 한 후 해제해야합니다.
sprite->retain();
scene->removeChild(sprite);
scene->addChild(sprite);
sprite->release();
무엇을 구현하고 싶습니까? 한 번 제거한 후에 스프라이트를 다시 추가 하시겠습니까 ?? –