cocos2dにはパーティクルを表現するためのクラスが用意されています。
パラメータ調整済みのサブクラスまで用意されているので簡単に使うことができます。
- CCParticleFire (炎、下から上へ、ゆらゆら)
- CCParticleSun (太陽、中心から外側に向かって、ゆらゆら)
- CCParticleGalaxy (宇宙、中心から外側に向かって、回転しながら広がる)
- CCParticleFlower (花、中心から外側に向かって、広がって縮まる動き)
- CCParticleMeteor (隕石、しっぽ付きで落ちてくるよう)
- CCParticleSpiral (渦巻き、中心から渦巻状にパーティクルが移動する)
- CCParticleExplosion (爆発、中心から外側に向かって飛び散る)
- CCParticleSmoke (煙、下から上へ、ゆっくりと)
- CCParticleSnow (雪、上から下へゆっくり降ってくる)
- CCParticleRain (雨、上から下へ降ってくる)
cocos2dのテンプレートからプロジェクト作成後、libs/cocos2dグループ内にあるCCParticleExamples.mファイルを覗くと、これらのクラスが、どのようにパラメータを設定しているかが分かります。
これらのクラスを使うには、
1 2 |
CCParticleExplosion *p = [CCParticleExplosion node]; [self addchild:p] |
ベースとなるクラスのオブジェクトを作成し、追加するだけです。ただし、addchildした途端にパーティクルが動き出すので、何らかのトリガーに関連付けておく必要があります。
自分でパラメータを調整したい場合は、該当するプロパティの値を設定する。
1 2 3 4 |
CCParticleExplosion *p = [CCParticleExplosion node]; p.speed = 100; p.speedVar = 200; [self addchild:p] |
パーティクルの放出が終わったら自動的に削除したい場合は、
1 |
p.autoRemoveOnFinish = YES; |
パーティクルの寿命(duration)が無限でない場合にYESにしておけば自動的にメモリから解放されます。
コメントを残す
コメントを投稿するにはログインしてください。