1

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 クラスを使用して作業を行いましたが、そこで動作するようになりました。

-編集-

正しい結果が得られる解決策を見つけました。しかし、私の意見では、これは意図した動作ではありません。

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;
}
4

1 に答える 1

0

iPhone でこの位置を確認するemitter.position = ccp(500,500);と、この位置はオフスクリーンになり、何も見えなくなります。

于 2014-03-12T11:38:43.890 に答える