[Share] ExplosionParticleデモ – CCParticleSystem増強版使用

このデモは僕から今年年末cocoachinaより開催されたのゲームスペースシャルイフェクト大会への投稿作品です。今回のテーマは-パーティクルシステム爆発スペースシャルイフェクト。

で、数時間の調査と試験をして、CCParticleSystemの欠点が浮かび上がってきた。それは粒子の生命周期間で粒子ごとの属性お自在にコントロールすることが負荷のです。粒子郡を初期化する時 startXXX, endXXX, startXXXVar, endXXXVarを設定し、粒子ごとの属性を決めるしかできません。(それに一階線性方程式 しかサポートされていない)

YouTube Preview Image

そこで僕がCCParticleSystemソースを修正することを決めました。

デモ機の一覧:

1. CCParticleSystem, CCParticleSystemQuad 増強版
. scaleX, scaleY対応
. delegateより粒子の生命周期間各属性を修正することができる
対応するdelegate::
-(void) updateParticleSize:(tCCParticle *)p elapsed:(float)e dt:(float)dt;
-(void) updateParticleScale:(tCCParticle *)p elapsed:(float)e dt:(float)dt;
-(void) updateParticleSpeed:(tCCParticle *)p elapsed:(float)e dt:(float)dt;
-(void) updateParticleAngle:(tCCParticle *)p elapsed:(float)e dt:(float)dt;
-(void) updateParticleRotation:(tCCParticle *)p elapsed:(float)e dt:(float)dt;
-(void) updateParticleRadialAccel:(tCCParticle *)p elapsed:(float)e dt:(float)dt;
-(void) updateParticleColor:(tCCParticle *)p elapsed:(float)elapse dt:(float)dt;
-(void) updateParticleTangentialAccel:(tCCParticle *)p elapsed:(float)e dt:(float)dt;
-(void) updateParticleRidus:(tCCParticle *)p elapsed:(float)e dt:(float)dt;
-(void) updateParticleDegreesPerSecond:(tCCParticle *)p elapsed:(float)e dt:(float)dt;
. 動画粒子対応 (cocos2d-iphone-1.1-beta2bバージョンから合成)
. spinとangle 属性に新しいアクロ
 kCCParticleStartSpinEqualToEndSpin
kCCParticleSpinEqualToAngle

2. CCSlidingMenuLayer
僕が造ったスライディングメニューLayer.

3. CCFrameSprite
僕が造ったフレームSprite.

4. ShatteredSprite
前一度掲載した、 CCSpriteを”ぶち壊す”機能を実現したクラス

5. CCRemoveAndCleanupAction
ShatteredSpriteと一緒に用いる簡単なActionクラス

6. CCShake
cocos2dサイトで見つかり 、”スクリーンシェーク” イフェクトに一番相応しいクラス

7. BParticleManager
パーティクルシステムパフォーマンス最適化するクラス

8. CCMath.h
基本の初等数学方程式マクロ

9. それぞれの爆発イフェクト粒子
火、破片、光、煙など

10. CCParticleEffectGenerator
 それぞれの爆発イフェクト粒子を組み合わせて素晴らしい爆発イフェクトを生み出せるクラス

この増強版CCParticleSystem, CCParticleSystemQuadを用いて様々な数学方程式を加わい、粒子ごとの属性をうまくコントロール
することが出来れば、あなたもきっと格好いいイフェクトを作れようになりますよ(^_^)

To Download Page…

☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆
If you feel all the stuffs in this site helped you a lot and you can get a game I made 🙂

☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆