egret游戏开发笔记(添加特效和释放特效)

时间:2022-09-19 15:21:05

添加特效: this.effPart=EffectMgr.addEff("eff/962", this.group_1, -this.img_0.width / 2+11, this.img_0.height - 34, 1, 500, 500,false);

/** 添加一个特效
* @KEY 例如:eff/zy_3
* @parent 容器
* @x @y 位置
* scale 放大倍數
* @interval 特效单次播放时间(毫秒)
* @time 特效生命时长(毫秒),如果为-1则认为无限时(需要手动移除!)
* @repeat 是否重复播放
* @act 资源中的动作名字,一般用1,具体可以到 resource/model/eff/文件夹下面的JSON文件查看动作名
*/
public static addEff(key: string, parent: egret.DisplayObjectContainer, x = 0, y = 0,scale:number = 1, interval = 1000, time: number = -1, repeat: boolean = true, act = "1"): Part {
var ret = this.instance.addEff1(key, parent, x, y,scale, interval, time, repeat, act);
return ret;

}

如果设置的为-1时候需要手动去释放特效资源(如果是多个item需要循环释放)

public removejy() {
for (var i = 0; i < this.roleGrids.length; i++) {//roleGrids为存放item的数组
this.roleGrids[i].removejyeff();
}

public removejyeff(){
if (this.effPart) {
EffectMgr.instance.removeEff(this.effPart);
this.effPart = null;
}
}