2021SC@SDUSC
目录
ParticleRenderable.js
4.2函数
addEmitter&removeEmitter
addEmitter: function(emitter) {
this._emitters.push(emitter);
},
removeEmitter: function(emitter) {
this._emitters.splice(this._emitters.indexOf(emitter), 1);
},
将粒子发射器添加至_emitters,参数类型为Emitter.js内定义的Emitter;
根据indexOf获取参数emitter的索引,并删除当前这一个发射器;
addField&removeField
addField: function(field) {
this._fields.push(field);
},
removeField: function(field) {
this._fields.splice(this._fields.indexOf(field), 1);
},
与发射器类似,,将参数field添加至_emitters,参数类型为Field.js内定义的Field;(field为领域,对粒子速度造成影响的属类别,模拟现实情况)
从_field中删除参数field对应实参;
reset
reset: function() {
for (var i = 0; i < this._particles.length; i++) {
var p = this._particles[i];
p.emitter.kill(p);
}
this._particles.length = 0;
this._elapsedTime = 0;
this._emitting = true;
},
重置该粒子系统,对于_particles内的所有粒子,使用kill()将其放回粒子池,接着重置基础设置;
isFinished
isFinished: function() {
return this._elapsedTime > this.duration && !this.loop;
},
用于判断其渲染行为是否全部完成,当消逝时间(已渲染时间)超过设置的持续时间,并且其并非循环渲染用(即一次性),则判断渲染完成,返回true,否则false。
(待续)