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(),要不然将他们添加到节点时他们就会飞快地运动起来了。


阅读更多
文章标签: cocos2d-x 粒子 plist
个人分类: cocos2d-x
想对作者说点什么? 我来说一句

COCOS2d-X by Example Beginner's Guide

2014年04月14日 3.55MB 下载

Java A Beginner’s Guide(7th) epub

2017年10月16日 65.97MB 下载

Java A Beginner's Guide(6th) 无水印pdf

2017年09月30日 11.32MB 下载

WebGL Beginner's Guide

2014年12月03日 7.41MB 下载

Java A Beginner’s Guide(7th) azw3

2017年10月16日 83.5MB 下载

没有更多推荐了,返回首页

加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!
关闭
关闭