我正在尝试使用粒子效果制作粉尘/粉末跟踪精灵。我试图在我的CCRenderTexture的开始和结束方法中调用[CCParticleSystemQuad访问]。但是没有任何东西被绘制。这个粒子系统是在绘制时创建的因为我认为粒子效应需要每帧更新一次,我尝试用cctime值0.3([particleSystem update:0.3])手动更新粒子系统。我的CCRenderTexture用0,0,0,0清除。如果我将此更改为0,0,1,1,粒子系统在蓝色背景上略微可见。我对openGL的混合功能知之甚少,但我是否也需要配置它?
是否需要在需要在CCRenderTexture中访问的粒子系统上手动调用update方法?如何在CCSprite上获得静止粒子效果。
CCParticleSystemQuad *emitter=[CCParticleSystemQuad particleWithFile:@"PowderPD.plist"];
[emitter setScale:0.3];
int length=[self getLength];
CCRenderTexture *rt=[CCRenderTexture renderTextureWithWidth:length+2*OFFSET height:TRAILPOINT_THICKNESS+30];
rt.position=ccp(0,0);
[rt beginWithClear:0 g:0 b:0 a:0];
CGPoint pos;
pos=CGPointMake(rt.sprite.contentSize.width * rt.sprite.anchorPoint.x,
rt.sprite.contentSize.height * rt.sprite.anchorPoint.y);
CGPoint posVar=ccp(length, TRAILPOINT_THICKNESS);
[emitter setPosVar:posVar];
[emitter setPosition:pos];
[emitter update:0.3];
[emitter visit];//<------Not working
[rt end];
elementSprite=[CCSprite spriteWithTexture:rt.sprite.texture];