1

CCParticleSystemQuadを使用して、Cocos2dでパーティクルエフェクトを作成しています。次に、CCRectとの衝突について各パーティクルをテストしたいと思います。パーティクルエンジンで各パーティクルの位置を取得して、これを実行するにはどうすればよいですか?

ヘルプや例をいただければ幸いです。私はこれに関するチュートリアルを見つけることを期待してネット上で何時間も探しました。粒子との衝突が不可欠であると予想するので、私は多くを見つけることができないことに驚いています。おそらく私は正しい場所を探していませんでした:)

4

2 に答える 2

4

CCParticleSystemQuadのサブクラスを作成し、update:メソッドまたはupdateQuadWithParticle:newPosition:メソッドをオーバーライドします。

@interface MyParticleSystem : CCParticleSystemQuad
@end

@implementation MyParticleSystem
- (void)updateQuadWithParticle:(tCCParticle*)particle newPosition:(CGPoint)pos
{
    /* use pos */
    [super updateQuadWithParticle:particle newPosition:pos];
}
@end

編集:

パーティクルには、次のように任意のデータ(位置、色など)を設定できます。

@interface MyParticleSystem : CCParticleSystemQuad
@end

@implementation MyParticleSystem
- (void)update:(ccTime)dt
{
    /* implement as cocos2d/CCParticleSystem.m -update: */
}
@end
于 2011-06-28T04:40:59.203 に答える
0

次のようなものを試してください

CCParticleSystemQuad* particle_system = ...;
for(int i = 0; i < particle_system->particleCount; i++)
{
    particle_system->particles[idx]->pos; // Here is your position
}

インターフェイスのヘッダーファイルは次のとおりです: http: //www.cocos2d-iphone.org/api-ref/latest-stable/_c_c_particle_system_8h_source.html

警告:私はCocos2dまたはObjective-Cを使用していないので、この答えを一粒の塩で取ってください。

于 2011-06-28T04:02:26.877 に答える