【已解决】testcpp里面DemoRing是怎么实现的?

void DemoRing::onEnter()
{
    ParticleDemo::onEnter();

    _emitter = ParticleFlower::create();
    _emitter->retain();

    _background->addChild(_emitter, 10);

    _emitter->setTexture( Director::getInstance()->getTextureCache()->addImage(s_stars1) );
    _emitter->setLifeVar(0);
    _emitter->setLife(10);
    _emitter->setSpeed(100);
    _emitter->setSpeedVar(0);
    _emitter->setEmissionRate(10000);

    setEmitterPosition();
}

std::string DemoRing::subtitle() const
{
    return "Ring Demo";
}


```


DemoRing创建的是一个ParticleFlower,之后只是设置了时间、速度、位置,怎么就出现了Ring的效果呢,没找到是在哪里实现的啊

6楼已解决

没人回复啊,使用人工置顶大法:2:

又找了一遍还是不明白,是哪条语句实现了RING的效果啊

具体的粒子参数都在ParticleFlower这个类里面~

ParticleFlower类里面也只找到了create相关的函数

问题是test里面在ring之前还有一个DemoFlower,也用了ParticleFlower,二者相比除了调整了时间速度发射率之外好像也就没区别了

//------------------------------------------------------------------
//
// DemoFlower
//
//------------------------------------------------------------------
void DemoFlower::onEnter()
{
    ParticleDemo::onEnter();

    _emitter = ParticleFlower::create();
    _emitter->retain();
    _background->addChild(_emitter, 10);
    _emitter->setTexture( Director::getInstance()->getTextureCache()->addImage(s_stars1) );

    setEmitterPosition();
}

std::string DemoFlower::subtitle() const
{
    return "ParticleFlower";
}


```


所以就搞不清楚到底是哪里的哪条语句实现了这个ring的效果

呃,我把DemoRing里面和DemoFlower相比多出来的代码注释掉,真的就变成DemoFlower啦:8:
为什么只改变了时间速度和发射率就变成了DemoRing啊:3:
我在ParticleBuilder里怎么就调不出这个效果啊:6:

好吧,又只能自己解答了……

大概是因为发射粒子的总数很少,把发射率调高,一口气全发射出来,就变成一个ring了

提问总是很少能得到答案啊,最后还是得靠自己撞出来