cocos creator船新版本不支持使用系统内置粒子了吗?

RT,CCSGParticleExamples.js 里面所列粒子,系统不再支持了吗,尝试以下两种方式,均报错:

  1. var node = new cc.Node(); var pf = node.addCompoment(cc.ParticleFireworks);// 提示cc.ParticleFireworks不是一个组件

  2. var pf = new cc.cc.ParticleFireworks(); this.node->addChild(pf); // 提示pf不是一个node,无法加入节点树中进行渲染。

PS:刚从cocos2dx中转过来的,感觉这个版本的API有点乱。。。请引擎组大神关注一下~

UP!!!

今天抽时间看了下引擎的源代码实现,发现cc.ParticleFireworks的类型是一个Scene Graph Node,它可以直接加入running scene中进行渲染。

  1. 所有的cc.Node对象 本身是无法渲染的,它依赖于this._sgNode
  2. 所有的cc.Component本身也无法渲染,它也同样依赖于this._sgNode

所以,如果硬要使用CCSGParticleExamples.js里面的内置粒子的话,可以直接将new出来的sgNode加入RunningScene即可(因为RunningScene也是一个sgNode,两个同为Scene Graph节点的话,方能结成父子关系)。

// 创建一个节点
var node = new cc.Node();
// 并将节点添加到场景中
cc.director.getScene().addChild(node);
// 并添加粒子组件到 Node 上
var particleSystem = node.addComponent(cc.ParticleSystem);
// 接下去就可以对 particleSystem 这个对象进行一系列操作了

可能没理解我说的意思,所谓的内置粒子,就是cc已经定义好的粒子,拿了直接用就行的,对懒人来说的话能使用内置粒子的话,肯定不会新建一个粒子来自己编辑。

试试把cc.ParticleSystem替换成cc.ParticleFireworks就会报错了。

下载最新2.x版本,发现渲染框架已改的面目全非,原来的内置粒子直接删除掉了:joy: