cocos2d-x by Example Beginner's Guide 第5章 Rocket Through 之 粒子系统

Rocket Through 

cocos2d-x by Example Beginner's Guide 第5章 Rocket Through

你将学到:

1.怎么加载和设定一个粒子系统。

2.如何在CCNode中,画出图元(primitives)如,线,圆等。

3.如何使用cocos2d-x中提供的一些关于向量运算的数学方法。


什么是粒子?

粒子(或者粒子系统),是向游戏添加特效的一种方式。一般而言,就是通过使用大量的细小的精灵纹理(粒子),执行一系列的动作和变换来实现的。

你可以利用粒子系统来创建诸如,烟雾,爆炸,火焰,雷电,雨,雪,等特效。


  创建粒子系统

所有的粒子的属性都需要通过xml文件来描述。

1.让我们到GameLayer.cpp中看看。

2.游戏通过调用来createGameScreen()进行初始化,已经存在的createGameScreen(),又调用了createParticles()和createStarGrid(),同样这两个方法也已经实现了。

现在就让我们到createParticles()里看一看。

3.在GameLayer.cpp中找到createParticles()方法,添加如下代码 

    _jet = CCParticleSystemQuad::create("jet.plist");
    _jet->setSourcePosition(ccp(-_rocket->getRadius() * 0.8F, 0));
    _jet->setAngle(180);
    _jet->stopSystem();
    this->addChild(_jet);

jet.plist文件是ParticleDesigner导出的数据,描述着_jet粒子系统的属性。关于 plist格式详见  plist维基百科

_jet粒子系统与_rocket相关联,_jet是_rocket(火箭)的尾巴。使用setAngle(180)和setSourcePosition()让_jet与火箭吻合。


其他的粒子系统创建和使用方式,与此大致相同,在这里就不进行介绍了。

所有的粒子系统都不能添加到CCSpriteBatchNode中,而是作为子结点添加到GameLayer中。

当每个粒子系统创建的时候,我们一定要调用stopSystem(),要不然将他们添加到节点时他们就会飞快地运动起来了。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值