粒子系统动态加载播放问题!!!!求解答

  • Creator 版本:2.1.0

  • 目标平台: Android

  • 详细报错信息,包含调用堆栈:略

  • 重现方式:略

  • 之前哪个版本是正常的 :略

  • 手机型号 :略

  • 手机浏览器 :略

  • 编辑器操作系统 :

  • 编辑器之前是否有其它报错 :略

  • 出现概率:略

  • 额外线索:略

还请赐教?

就是想动态改变粒子系统的plist文件,实现代码播放不同的粒子特效,但是没发现接口,只有个file的只读属性

第一次发帖哈哈,有点问题。就是想动态改变粒子系统的plist文件,实现代码播放不同的粒子特效,但是没发现接口,只有个file的只读属性

直接改ParticleSystem中的属性也可以啊

我想代码动态换plist文件,切换贴图。但是没找到方法,能说具体点么?

试试这种方式吧

兄弟,接住。

        cc.loader.loadRes("smoke", cc.ParticleAsset, (err, resParticleAsset) => {
            if (err) {
                console.err(err);
                return;
            }
            let particleNode = new cc.Node();
            let particleCom = particleNode.addComponent(cc.ParticleSystem);
            particleCom.file = resParticleAsset;
            particleCom.custom = true;
            //TODO:开启Custom才能自定义粒子效果
            particleCom.spriteFrame = this.cocosSpriteFrame;
            //添加到场景中
            this.node.addChild(particleNode);
        });
2赞

particleCom.custom = true; 这个我设置true发现实际运行没效果:joy: 没加这行代码可以。不过算是解决了,感谢

感谢感谢

感谢,

在2.0.8下有问题呢,新建的节点和粒子组件,修改spriteframe无效,开启custom后确实修改了spritframe但是粒子发射模式改变了。放回对象池,从对象池拿出来的粒子组件可以修改spriteframe,但不能开启custom,否则发射方式不是plist文件所定义的。貌似在2.1版本动态粒子系统算可以用,那在2.0.8有什么办法进行规避呢?

找到个曲线方法,设置粒子组件的file有时序问题,在设置完file后,最好停一帧再获取粒子的属性,以保证属性的正确性,特别是新建的粒子节点,这时候再开启custom修改spriteframe。