cocos2dx中实现拖尾的效果

之前看到拖尾效果感觉挺酷炫的,但是网上很多教程说得并明了,现在我来个简单粗暴的,现在做了一个很菜的效果大家凑合看看,废话不多说,直接上代码:

首先创建一个主角:

        bullt = CCSprite::create("blood.png");  
bullt->setPosition(ccp(100,110));  
this->addChild(bullt,2); 




创建拖尾效果并且添加到屏幕:

        m_streak = CCMotionStreak::create(2, 10,20, ccRED, "blood.png");  
m_streak->setPosition(ccp(100,110));  
this->addChild(m_streak,1);



添加渐变颜色:

//  //创建一个无限循环的动画序列,动画序列为7个变色动画,哪个结点使用它就会不断的变色。  
 CCActionInterval *colorAction = CCRepeatForever::create((CCActionInterval *)CCSequence::create(  
 CCTintTo::create(0.2f, 255, 0, 0),  
 CCTintTo::create(0.2f, 0, 255, 0),  
 CCTintTo::create(0.2f, 0, 0, 255),  
 CCTintTo::create(0.2f, 0, 255, 255),  
 CCTintTo::create(0.2f, 255, 255, 0),  
 CCTintTo::create(0.2f, 255, 0, 255),  
 CCTintTo::create(0.2f, 255, 255, 255),  
 NULL));  

 //让拖尾运行这个变色动画序列。  
m_streak->runAction(colorAction);



名就叫拖尾效果,所以这个效果如果不移动的话是看不见的,现在我们在update里面移动它:

void HelloWorld::update(float delta)
{

bullt->setPosition(ccp(bullt->getPositionX(),bullt->getPositionY()+1));
m_streak->setPosition(bullt->getPosition());
}

ok,就这么简单

效果图:

cocos2dx中实现拖尾的效果_第1张图片


你可能感兴趣的:(cocos2dx中实现拖尾的效果)