CVP认证学习笔记--李天宇024粒子编辑器和粒子动画

前端之家收集整理的这篇文章主要介绍了CVP认证学习笔记--李天宇024粒子编辑器和粒子动画前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

本章节学习到了如何使用粒子系统,但是在开发的项目中,我们不会经常使用到,大多时候回将粒子转成帧动画进行播放,降低IO消耗,从而节约开发的成本。直接呈上代码

var HelloWorldLayer = cc.Layer.extend({

sprite:null,

ctor:function () {

this._super();

var size = cc.winSize;

var particle = ["爆炸粒子","火焰粒子","烟花粒子",

"花粒子","星系粒子","流星粒子",

"漩涡粒子","雪粒子","烟粒子",

"太阳粒子","雨粒子"];

var items = [];

for(var i=0;i<particle.length;i++){

var item = new cc.MenuItemFont(particle[i],this.callback,this);

item.setTag(i*10);

item.setPosition(size.width/2-100,size.height/2-30*i);

items.push(item);

}

var menu = new cc.Menu(items);

menu.setPosition(0,size.height/2-70);

this.addChild(menu);

return true;

},

callback: function (obj) {

var particle;

var size = cc.winSize;

switch(obj.tag){

case 0:

this.removeChildByTag(100);

particle = new cc.ParticleExplosion();

particle.setTag(100);

particle.texture=cc.textureCache.addImage("res/ballfire.plist.png");

this.addChild(particle);

particle.setPosition(size.width/2+100,size.height/2);

break;

case 10:

this.removeChildByTag(100);

particle = new cc.ParticleFire();

particle.setTag(100);

particle.texture=cc.textureCache.addImage("res/ballfire.plist.png");

this.addChild(particle);

particle.setPosition(size.width/2+100,size.height/2);

break;

case 20:

this.removeChildByTag(100);

particle = new cc.ParticleFireworks();

particle.setTag(100);

particle.texture=cc.textureCache.addImage("res/ballfire.plist.png");

this.addChild(particle);

particle.setPosition(size.width/2+100,size.height/2);

break;

case 30:

this.removeChildByTag(100);

particle = new cc.ParticleFlower();

particle.setTag(100);

particle.texture=cc.textureCache.addImage("res/ballfire.plist.png");

this.addChild(particle);

particle.setPosition(size.width/2+100,size.height/2);

break;

case 40:

this.removeChildByTag(100);

particle = new cc.ParticleGalaxy();

particle.setTag(100);

particle.texture=cc.textureCache.addImage("res/ballfire.plist.png");

this.addChild(particle);

particle.setPosition(size.width/2+100,size.height/2);

break;

case 50:

this.removeChildByTag(100);

particle = new cc.ParticleMeteor();

particle.setTag(100);

particle.texture=cc.textureCache.addImage("res/ballfire.plist.png");

this.addChild(particle);

particle.setPosition(size.width/2+100,size.height/2);

break;

case 60:

this.removeChildByTag(100);

particle = new cc.ParticleSpiral();

particle.setTag(100);

particle.texture=cc.textureCache.addImage("res/ballfire.plist.png");

this.addChild(particle);

particle.setPosition(size.width/2+100,size.height/2);

break;

case 70:

this.removeChildByTag(100);

particle = new cc.ParticleSnow();

particle.setTag(100);

particle.texture=cc.textureCache.addImage("res/ballfire.plist.png");

this.addChild(particle);

particle.setPosition(size.width/2+100,size.height/2);

break;

case 80:

this.removeChildByTag(100);

particle = new cc.ParticleSmoke();

particle.setTag(100);

particle.texture=cc.textureCache.addImage("res/ballfire.plist.png");

this.addChild(particle);

particle.setPosition(size.width/2+100,size.height/2);

break;

case 90:

this.removeChildByTag(100);

particle = new cc.ParticleSun();

particle.setTag(100);

particle.texture=cc.textureCache.addImage("res/ballfire.plist.png");

this.addChild(particle);

particle.setPosition(size.width/2+100,size.height/2);

break;

case 100:

this.removeChildByTag(100);

particle = new cc.ParticleRain();

particle.setTag(100);

particle.texture=cc.textureCache.addImage("res/ballfire.plist.png");

this.addChild(particle);

particle.setPosition(size.width/2+100,size.height/2);

break;

}

}

});

var HelloWorldScene = cc.Scene.extend({

onEnter:function () {

this._super();

var layer = new HelloWorldLayer();

this.addChild(layer);

}

});

上述是cocos2d自带的粒子系统,还可以自定义粒子系统,如:

//添加自定义粒子

cc.textureCache.addImage("res/ballfire.plist.png");

var myp=new cc.ParticleSystem("res/ballfire.plist");

this.addChild(myp);

myp.setPosition(cc.winSize.width/2,cc.winSize.height/2);

最后附上作业链接

http://www.cocoscvp.com/usercode/2016_05_08/c4622e38f30a278640911f24977bc4e0735349ed/

猜你在找的Cocos2d-x相关文章