1、演示内置的粒子系统示例:
Size visibleSize = Director::getInstance()->getVisibleSize();
Vec2 origin = Director::getInstance()->getVisibleOrigin();
// 关闭菜单
auto closeItem = MenuItemImage::create(
"CloseNormal.png",
"CloseSelected.png",
CC_CALLBACK_1(HelloWorld::menuCloseCallback, this));
closeItem->setPosition(Vec2(origin.x + visibleSize.width - closeItem->getContentSize().width / 2,
origin.y + closeItem->getContentSize().height / 2));
auto menu = Menu::create(closeItem, NULL);
menu->setPosition(Vec2::ZERO);
this->addChild(menu, 1);
//auto fire = ParticleFire::create(); // 火焰粒子系统
//auto fireworks = ParticleFireworks::create(); //烟花粒子系统
//auto flower = ParticleFlower::create(); //花朵粒子系统
//auto galaxy = ParticleGalaxy::create(); // 银河系粒子系统
//auto meteor = ParticleMeteor::create(); // 流星粒子系统
//auto rain = ParticleRain::create(); // 下雨粒子系统
//auto smoke = ParticleSmoke::create(); // 烟雾粒子系统
//auto snow = ParticleSnow::create(); // 下雪粒子系统
//auto spiral = ParticleSpiral::create(); // 螺旋粒子系统
//auto sun = ParticleSun::create(); // 太阳粒子系统
// 创建粒子系统
auto explosion = ParticleExplosion::create();
// 设置粒子系统的位置
explosion->setPosition(visibleSize.width / 2, visibleSize.height / 2);
// 添加为当前层的子节点
this->addChild(explosion);
(1)爆炸粒子系统
(2)火焰粒子系统
(3)烟花粒子系统
(4)花朵粒子系统
(5)银河系粒子系统
(6)流星粒子系统
(7)下雨粒子系统
(8)烟雾粒子系统
(9)下雪粒子系统
(10)螺旋粒子系统
(11)太阳粒子系统
2、演示使用Plist文件创建粒子系统:
Size visibleSize = Director::getInstance()->getVisibleSize();
Vec2 origin = Director::getInstance()->getVisibleOrigin();
auto closeItem = MenuItemImage::create(
"CloseNormal.png",
"CloseSelected.png",
CC_CALLBACK_1(HelloWorld::menuCloseCallback, this));
closeItem->setPosition(Vec2(origin.x + visibleSize.width - closeItem->getContentSize().width / 2,
origin.y + closeItem->getContentSize().height / 2));
// create menu, it's an autorelease object
auto menu = Menu::create(closeItem, NULL);
menu->setPosition(Vec2::ZERO);
this->addChild(menu, 1);
// 使用plist文件创建一个粒子
auto water = ParticleSystemQuad::create("water.plist");
water->setPosition(visibleSize.width / 2, visibleSize.height * 0.8);
this->addChild(water);