108 lines
2.6 KiB
Markdown
108 lines
2.6 KiB
Markdown
|
## 初始化
|
|||
|
|
|||
|
通过RES模块获得 GravityParticleSystem 所需要的纹理以及配置,然后创建particle.GravityParticleSystem对象。注:纹理和配置需要加载过的
|
|||
|
|
|||
|
``` typescript
|
|||
|
var texture = RES.getRes("texture");
|
|||
|
var config = RES.getRes("texture_json");
|
|||
|
this.system = new particle.GravityParticleSystem(texture, config);
|
|||
|
```
|
|||
|
|
|||
|
## 配置文件
|
|||
|
|
|||
|
* GravityParticleSystem 构造函数所传入的配置是一个Object对象,包含了 GravityParticleSystem 所需的各个参数,这些参数都是都是必须的。
|
|||
|
|
|||
|
* 配置文件可以是json,通过RES模块加载之后可以直接使用。也可以是从服务端请求的数据对象,还可以是xml或者其他格式的配置文件通过自定义解析生成的数据对象。
|
|||
|
|
|||
|
下面以json的配置文件为例,配置文件中的参数命名基本上和 GravityParticleSystem 中的属性名称一致
|
|||
|
|
|||
|
``` typescript
|
|||
|
{
|
|||
|
"emitter": {
|
|||
|
"x": 240,
|
|||
|
"y": 600
|
|||
|
},
|
|||
|
"emitterVariance": {
|
|||
|
"x": 104,
|
|||
|
"y": 0
|
|||
|
},
|
|||
|
"gravity": {
|
|||
|
"x": 0,
|
|||
|
"y": 0
|
|||
|
},
|
|||
|
"maxParticles": 500,
|
|||
|
"speed": 90,
|
|||
|
"speedVariance": 30,
|
|||
|
"lifespan": 2000,
|
|||
|
"lifespanVariance": 1900,
|
|||
|
"emitAngle": 270,
|
|||
|
"emitAngleVariance": 15,
|
|||
|
"startSize": 70,
|
|||
|
"startSizeVariance": 50,
|
|||
|
"endSize": 10,
|
|||
|
"endSizeVariance": 0,
|
|||
|
"startRotation": 0,
|
|||
|
"startRotationVariance": 0,
|
|||
|
"endRotation": 0,
|
|||
|
"endRotationVariance": 0,
|
|||
|
"radialAcceleration": 0,
|
|||
|
"radialAccelerationVariance": 0,
|
|||
|
"tangentialAcceleration": 0,
|
|||
|
"tangentialAccelerationVariance": 0
|
|||
|
}
|
|||
|
```
|
|||
|
|
|||
|
## 启动
|
|||
|
|
|||
|
通过 start 函数启动粒子系统
|
|||
|
|
|||
|
``` typescript
|
|||
|
this.system.start();
|
|||
|
```
|
|||
|
|
|||
|
## 停止
|
|||
|
|
|||
|
通过 `stop` 函数停止粒子系统
|
|||
|
|
|||
|
``` typescript
|
|||
|
this.system.stop();
|
|||
|
```
|
|||
|
|
|||
|
## 更换纹理
|
|||
|
|
|||
|
通过 `changeTexture` 函数更换粒子纹理
|
|||
|
|
|||
|
``` typescript
|
|||
|
var newTexture = RES.getRes("newTexture");
|
|||
|
this.system.changeTexture(newTexture);
|
|||
|
```
|
|||
|
|
|||
|
## 创建示例
|
|||
|
|
|||
|
通过以下代码可以创建粒子系统并启动
|
|||
|
|
|||
|
``` typescript
|
|||
|
//获取纹理
|
|||
|
var texture = RES.getRes("texture");
|
|||
|
|
|||
|
//获取配置
|
|||
|
var config = RES.getRes("texture_json");
|
|||
|
|
|||
|
//创建 GravityParticleSystem
|
|||
|
this.system = new particle.GravityParticleSystem(texture, config);
|
|||
|
|
|||
|
//启动粒子库
|
|||
|
this.system.start();
|
|||
|
|
|||
|
//将例子系统添加到舞台
|
|||
|
this.addChild(this.system);
|
|||
|
```
|
|||
|
|
|||
|
## 粒子系统相关链接
|
|||
|
|
|||
|
[粒子系统传统显示示例](http://edn.egret.com/cn/article/index/id/43)
|
|||
|
|
|||
|
[粒子系统WebGL显示示例](http://static.egret-labs.org/egret-game/example/webgl/particle/index.html)
|
|||
|
|
|||
|
[粒子系统示例源码](https://github.com/egret-labs/egret-game-library/tree/master/particle)
|