, как я понимаю, когда IMARK эмиттер с setAutoRemoveOnFinish (правда) он должен удалить эмиттер и каким-то образом вызвать CCParticleSystemQuad так, если я продлить CCParticleSystemQuad он должен вызвать расширенный класс CCParticleSystemQuad отвлекает то, чего не происходит. это мой простой классCocose2d-х ParticleSystemQuad продлив не называют деструктор, когда setAutoRemoveOnFinish (истина)
class CC_DLL ParticleFromFile : public ParticleSystemQuad
{
public:
static ParticleFromFile* create(const std::string& filename);
CC_CONSTRUCTOR_ACCESS:
ParticleFromFile(const std::string& filename);
virtual ~ParticleFromFile();
private:
CC_DISALLOW_COPY_AND_ASSIGN(ParticleFromFile);
};
ParticleFromFile::ParticleFromFile(const std::string& filename)
{
;
}
ParticleFromFile* ParticleFromFile::create(const std::string& filename)
{
ParticleFromFile* ret = new ParticleFromFile(filename);
if (ret->initWithFile(filename))
{
ret->autorelease();
}
else
{
CC_SAFE_DELETE(ret);
}
return ret;
}
ParticleFromFile::~ParticleFromFile()
{
int stop =0;
}
и это, как я настройка эмиттер
_emitterLocal = ParticleFromFile::create(stringPilstName);
_emitterLocal->setTag(EXPLOSION_FROM_FILE_TAG);
_emitterLocal->setAutoRemoveOnFinish(true);
_emitterLocal->retain();
_emitterLocal->stopSystem();
_emitterLocal->unscheduleUpdate();
_emitterLocal->scheduleUpdate();
, а затем я запустить его с
_emitterLocal->resetSystem();
теперь каждая вещь работает отлично и частицы отлично работает, но он никогда не удалялся/не очищался, а деструктор никогда не называл , что мне здесь не хватает?
Частица будет удаляться после 'Finish', но когда это закончится? – Emadpres
dono это вопрос, – user63898
Почему вы 'сохраняете()' перед 'stopSystem()'? проверьте мой ответ. PS: Я не вижу смысла в 'uncheduleUpdate()' и 'scheduleUpdate()'. Для чего они ?! – Emadpres