我IMARK與setAutoRemoveOnFinish發射器時(真) 應該刪除發射器並以某種方式引發CCParticleSystemQuad所以如果我延長CCParticleSystemQuad 應該致電瞭解擴展CCParticleSystemQuad類分散了什麼沒有發生。 這是我簡單的類Cocose2d-X 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 2014-09-23 13:11:47
dono這是問題, – user63898 2014-09-23 13:22:41
爲什麼''在stopSystem()'之前保留()'?看看我的答案。 PS:我在'unscheduleUpdate()'和'scheduleUpdate()'中看不到任何一點。他們是幹什麼的?! – Emadpres 2014-09-23 15:07:25