我试图使用粒子系统的Cocos2d,以增加效果的现有场景继承从CCScene在我的iPad。然而,在某种程度上,粒子系统没有被添加到舞台/运行中。我无法让它运行后,搜索多个网站,包括这里。
-(CCParticleSystem*)createEmitter
{
CCParticleSystem *emitter = [[[CCParticleSystem alloc] initWithTotalParticles:50] autorelease];
[emitter setAutoRemoveOnFinish:YES];
[emitter setEmitterMode:kCCParticleModeRadius];
[emitter setTexture:[[CCTextureCache sharedTextureCache] addImage: @"cloud_small.png"]];
[emitter setStartColor:ccc4f(1, 1, 1, 1)];
[emitter setEndColor:ccc4f(1, 1, 1, 1)];
[emitter setStartRadius:10];
[emitter setEndRadius:250];
[emitter setStartSize:100];
[emitter setEndSize:50];
emitter.life = 1;
emitter.duration = -1;
emitter.position = ccp(0,0);
return emitter;
}并呼叫:
[self addChild:[self createEmitter]];我使用过CCParticleExplosion类,在这个类中,我设法使它工作起来。
-编辑-
我找到了一个解决办法,这给了我正确的结果。但在我看来,这不是它的工作方式。
我已经用CCParticleSystem取代了CCParticleFire,现在工作还不错。因为CCParticleFire是一个粒子例子,所以我认为这个解决方案是一个“绕开事物的方法”。
-(CCParticleFire*)createParticleEffect
{
CCParticleFire *emitter = [[CCParticleFire alloc] initWithTotalParticles:50];
[emitter setEmitterMode:kCCParticleModeRadius];
[emitter setTexture:[[CCTextureCache sharedTextureCache] addImage: @"cloud_small.png"]];
[emitter setStartColor:ccc4f(0.1, 0.1, 0.1, 0.5)];
[emitter setStartColorVar:ccc4f(0.2, 0.2, 0.2, 0.3)];
[emitter setStartRadius:10];
[emitter setStartRadiusVar:20];
[emitter setEndRadius:200];
[emitter setEndRadiusVar:20];
[emitter setStartSize:100];
[emitter setStartSizeVar:30];
[emitter setEndSize:50];
[emitter setEndSizeVar:15];
emitter.angle = 90;
emitter.angleVar = 360;
emitter.life = 1;
emitter.lifeVar = 2;
emitter.duration = -1;
emitter.position = ccp(75,75);
emitter.emissionRate = 10;
[emitter resetSystem];
return emitter;
}发布于 2014-03-12 11:38:43
检查这个位置emitter.position = ccp(500,500); on iPhone,这个位置将关闭屏幕,您将无法看到任何东西。
https://stackoverflow.com/questions/22349692
复制相似问题