cocos2dx 之 多个Sprite同时进行操作

前端之家收集整理的这篇文章主要介绍了cocos2dx 之 多个Sprite同时进行操作前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

有时候,根据策划需求的效果,需要所有Sprte同时执行某一个动作,那么一般想到的是每个Sprite都执行型runAction,但是这样的话增加代码量,我们会采用引擎提供的另一种方法,设置级联,调用setCascadeOpacityEnabled设置为true

看如下代码

  1. void ActionFade::onEnter()
  2. {
  3. ActionsDemo::onEnter();
  4.  
  5. centerSprites(2);
  6.  
  7. //m_tamara->setOpacity( 0 );
  8. CCActionInterval* action1 = CCFadeIn::create(1.0f);
  9. CCActionInterval* action1Back = action1->reverse();
  10.  
  11. CCActionInterval* action2 = CCFadeOut::create(1.0f);
  12. CCActionInterval* action2Back = action2->reverse();
  13.  
  14. m_tamara->addChild(m_kathia);///
  1. m_tamara->setCascadeOpacityEnabled(true); //设置级联关系
  2. CCActionInterval *move = CCMoveBy::create(0.5f,ccp(m_tamara->getPositionX() - 20,m_tamara->getPositionY()));
  3. CCActionInterval *back = move->reverse();
  4. //m_tamara->runAction( CCSequence::create( action2,action1Back,NULL));
  5. m_tamara->runAction(CCRepeatForever::create(CCSequence::create( move,back,NULL)));
  6. //m_kathia->runAction( CCSequence::create( action2,action2Back,NULL));
  7. this->addChild(m_tamara);
  8. }

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