您的位置:首页 > 移动开发 > Cocos引擎

Cocos2d-x3.1粒子使用

2014-09-04 00:18 197 查看
1、头文件

#include "cocos2d.h"
USING_NS_CC;

class WaterWaveDemo : public Layer
{
public:
static cocos2d::Scene* createScene();

// Here's a difference. Method 'init' in cocos2d-x returns bool, instead of returning 'id' in cocos2d-iphone
virtual bool init();

// a selector callback
void menuCloseCallback(cocos2d::Ref* pSender);

// implement the "static create()" method manually
CREATE_FUNC(WaterWaveDemo);
};

2、cpp文件
#include "WaterWaveDemo.h"
#include "SimpleAudioEngine.h"
using namespace CocosDenshion;

Scene* WaterWaveDemo::createScene()
{
// 'scene' is an autorelease object
auto scene = Scene::create();

// 'layer' is an autorelease object
auto layer = WaterWaveDemo::create();

// add layer as a child to scene
scene->addChild(layer);

// return the scene
return scene;

}

bool WaterWaveDemo::init()
{
bool bRet = false;
do{
CC_BREAK_IF(!Layer::init());

auto listener = EventListenerTouchOneByOne::create();
listener->setSwallowTouches(true);

listener->onTouchBegan = [&](Touch* touch,Event* event){

auto touchPosition = touch->getLocation();
ParticleSystemQuad* mParticle = ParticleSystemQuad::create("showClick.plist");
mParticle->setScale(0.5);
mParticle->setPosition(touchPosition);
mParticle->setAutoRemoveOnFinish(true);
addChild(mParticle);

return false;
};

Director::getInstance()->getEventDispatcher()->addEventListenerWithSceneGraphPriority(listener, this);
bRet = true;
}while(0);
return bRet;
}

void WaterWaveDemo::menuCloseCallback(Ref* pSender)
{
#if (CC_TARGET_PLATFORM == CC_PLATFORM_WP8) || (CC_TARGET_PLATFORM == CC_PLATFORM_WINRT)
MessageBox("You pressed the close button. Windows Store Apps do not implement a close button.","Alert");
return;
#endif

Director::getInstance()->end();

#if (CC_TARGET_PLATFORM == CC_PLATFORM_IOS)
exit(0);
#endif
}代码下载:http://download.csdn.net/detail/yuxikuo_1/7861203
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  Cocos2d-x3.1 粒子