CocoaChina2012年粒子特效大赛获奖作品源码分享

来源:互联网 发布:高校大学生网络党校 编辑:程序博客网 时间:2024/04/28 21:18

马上就要进入2013年了!年终时,CocoaChina策划了一场末日的粒子特效大赛,要求参赛者做出最炫的”爆炸“特效。昨天,评选结果出炉,在此,小编特别选出一等奖、二等奖的参赛作品,分享给大家。

 

一等奖作品:cocos2d爆炸特效演示程序

作者:superraccoon    

精彩截图:

视频:http://v.youku.com/v_show/id_XNDg1Njc1MDIw.html

作者有话要说:

演示程序主要内容:

1. 加入一些新功能扩展的CCParticleSystem, CCParticleSystemQuad

这个是通过修改源码实现的,本想不懂源码,使用RUNTIME来实现的,但是貌似不太可行,暂时就先放下了。

主要的新功能有:

A. 支持X,Y方向的单独缩放,在rotation后也不会出现问题

B.支持在update期间有选择性的动态控制单个粒子的某个属性。

目前支持的修改粒子属性:

-(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中的动画粒子功能(这个是我从1.1里合到2.1里来的)

 新增两个宏,用于控制粒子的旋转和角度

kCCParticleStartSpinEqualToEndSpin

kCCParticleSpinEqualToAngle

2. CCSlidingMenuLayer

自己写的一个可以滑动隐藏/显示的菜单层

3. CCFrameSprite

自己写的一个简单的矩形Sprite

4. ShatteredSprite

之前在我的博客也介绍过的,一个实现了碎效果的Sprite,这个貌似是作者的升级版

5. CCRemoveAndCleanupAction

一个简单的action,淘来的 ,配合ShatteredSprite用的

6. CCShake

这个好像也是我介绍过的,一个抖动Action,用来做震屏效果以外的好O(∩_∩)O~

7. BParticleManager

这个是为了优化淘来的,一个实现很简单但是有效的重用emitter的管理类

8. CCMath.h 一些初等函数公式的宏

一些初等函数的宏,推荐各位可以在grapgh里面折腾折腾,熟悉熟悉曲线的特性。在控制粒子属性的时候很有用。

9. 各种爆炸效果元素的粒子类

其实上面的都和比赛无关,这些才是重点,各种爆炸相关的粒子类。(因为比赛要求是爆炸效果,所以我把其他一些无关的做着玩的,像是闪电之类的粒子特效去除了)

10. CCParticleEffectGenerator

通过组合基础的粒子效果再加以调整,搭配出的一些爆炸效果

11. cocos2d的CCParticleSystem粒子系统的实现的学习笔记

 源码下载:

 

coco2d-v2.0粒子系统学习笔记

ExplosionParticleDemo

ShatterSpriteDemo

原帖地址:http://www.cocoachina.com/bbs/read.php?tid=127595

 

 

二等奖作品:火流星+轻微爆炸=和谐   

作者:wmpdwaxx

精彩截图:

 

视频:http://v.youku.com/v_show/id_XNDg5MjQ4NjAw.html

作者有话要说:基于强大的cocos2d-x引擎制作,除了背景图,其他全部都用的粒子文件。

源码下载:

explode

 原帖地址:http://www.cocoachina.com/bbs/read.php?tid=129991

 

 

二等奖作品:爆炸是一种艺术-爆炸Style

作者:openmac

精彩截图:

视频:http://v.youku.com/v_show/id_XNDkwODI2Mjg0.html

作者有话要说:当时我觉得需要给爆炸加点料,所以就配上了江南style。这个演示程序用到了cocos2d-x系统自带的粒子效果,和我自己写的简单粒子系统。我自己写的粒子系统是基于带物理的sprite,然后加入到batchnode里渲染。物理用box2d,这样看起来会使爆发出的粒子在反弹后有跳骑马舞的效果。

为了是这个Demo更绚丽,我用cocosbuilder做编辑器,添加了一些控制效果,可以在编辑器里编辑粒子系统的时间线,控制粒子系统喷发位置,速度,是否继续喷发,喷发什么纹理,喷发粒子的数量等参数。可以在运行时动态修改希望的粒子效果。比如江南Style里泡沫乱飞的场景,可以通过控制喷发区域的面积修改。

我在代码里的做法是为cocosbuilder建立的某种精灵注册个监听者,然后通过这个监听者来监视sprite状态(我用的是轮询),然后根据预设的条件修改绑定的粒子系统。通过编辑器的可以实现许多想要的效果(运行时动态改变的)。因为需要爆炸效果,所以在demo里我只用的爆炸效果。这个Demo也是在快到截止日期时才昨完。未来我想把当初计划的效果也添加进去,加更多的料!引用火影中迪达拉的话:爆炸是一种艺术!

源码下载:

cocos2d-2.0-x

原帖地址:http://www.cocoachina.com/bbs/read.php?tid=129998

 

原创粉丝点击