CCParticleSystem不会显示在我的iPad场景中

时间:2014-03-12 11:11:50

标签: objective-c ipad cocos2d-iphone ccparticlesystem

我试图使用Cocos2d的粒子系统,为我的iPad上继承自CCScene的现有场景添加效果。但是,不知何故,粒子系统没有被添加到舞台/跑步中。在搜索包括此处在内的多个网站后,我无法让它运行。

-(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课程,在那里我设法让它工作。

-edit -

我找到了一个解决方案,它给了我正确的结果。但我认为这不是它的工作方式。

我用CCParticleFire替换了CCParticleSystem,现在工作正常。由于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;
}

1 个答案:

答案 0 :(得分:0)

在iPhone上查看此位置emitter.position = ccp(500,500);,此位置将在屏幕外,您将无法看到任何内容。