手指效果

HelloWorld::HelloWorld()

{

    smoke=CCParticleSmoke::create();

    sun=CCParticleSun::create();

 

}

HelloWorld::~HelloWorld()

{

    smoke->setAutoRemoveOnFinish(true);

    sun->setAutoRemoveOnFinish(true);

}

 

CCScene* HelloWorld::scene()

{

    // 'scene' is an autorelease object

    CCScene *scene = CCScene::create();

    

    // 'layer' is an autorelease object

    HelloWorld *layer = HelloWorld::create();

 

    // add layer as a child to scene

    scene->addChild(layer);

 

    // return the scene

    return scene;

}

 

boolHelloWorld::init()

{

 

CCDirector::sharedDirector()->getTouchDispatcher()->addTargetedDelegate(this,0,false);

    bool bRet = false;

    do

    {

        CC_BREAK_IF(! CCLayer::init());

        

        CCSprite* pSprite = CCSprite::create("background.png");

        CC_BREAK_IF(! pSprite);

        pSprite->setPosition(ccp(400, 240));

this->addChild(pSprite, 0);

        

 

sun->setTextureWithRect(CCTextureCache::sharedTextureCache()->addImage("fire.png"),CCRectMake(0,0,32,32));

sun->setPosition(ccp(700,350));

addChild(sun);

 

smoke->setTextureWithRect(CCTextureCache::sharedTextureCache()->addImage("fire.png"),CCRectMake(0,0,32,32));

smoke->setPosition(ccp(600,150));

smoke->setLife(1);

addChild(smoke);

strike=CCMotionStreak::create(1.0,16, 16, ccWHITE, "sprite.png");

addChild(strike,1);

strike->setPosition(ccp(240,160));

 

        

        

        bRet = true;

    } while (0);

    

    return bRet;

}

bool HelloWorld::ccTouchBegan(cocos2d::CCTouch *pTouch, cocos2d::CCEvent *pEvent)

{

    x=pTouch->getLocation().x;

    y=pTouch->getLocation().y;

    CCLog("ccTouchBegan");

    strike->setPosition(pTouch->getLocation());

    returntrue;

}

void HelloWorld::ccTouchMoved(cocos2d::CCTouch *pTouch, cocos2d::CCEvent *pEvent)

{

    CCLog("ccTouchMoved");

    getLine(pTouch->getLocation());

    strike->setPosition(pTouch->getLocation());

}

void HelloWorld::ccTouchEnded(cocos2d::CCTouch *pTouch, cocos2d::CCEvent *pEvent)

{

    if(fabs(pTouch->getLocation().x-x)<20&&fabs(pTouch->getLocation().y-y)<20)

    {

        getBoom(pTouch->getLocation());

    }

    CCLog("ccTouchEnded");

}

 

voidHelloWorld::getLine(CCPoint pt)

{

    cocos2d::CCParticleSystemQuad *mSystem=CCParticleSystemQuad::create("Particle.plist");

    mSystem->setTextureWithRect(CCTextureCache::sharedTextureCache()->addImage("Particle.png")

                                ,CCRectMake(0,0,32,32));

    mSystem->setPosition(pt);

    mSystem->setDuration(0.3f);

    mSystem->setLife(0.5f);

    addChild(mSystem);

    mSystem->setAutoRemoveOnFinish(true);

}

 

voidHelloWorld::getBoom(CCPoint pt)

{

    

    CCParticleSystemQuad*mSystem2 = CCParticleSystemQuad::create("Boom.plist");

    mSystem2->setTextureWithRect(CCTextureCache::sharedTextureCache()->addImage("fire.png")

                                 ,CCRectMake(0,0,32,32));

    mSystem2->setPosition(pt);

    mSystem2->setDuration(0.05f);

    addChild(mSystem2);

    mSystem2->setAutoRemoveOnFinish(true);

}

 

posted on 2013-04-23 13:29  jack_yan  阅读(240)  评论(0编辑  收藏  举报