加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

cocos2dx 之 多个Sprite同时进行操作

发布时间:2020-12-14 21:25:54 所属栏目:百科 来源:网络整理
导读:有时候,根据策划需求的效果,需要所有Sprte同时执行某一个动作,那么一般想到的是每个Sprite都执行型runAction,但是这样的话增加了代码量,我们会采用引擎提供的另一种方法,设置级联,调用setCascadeOpacityEnabled设置为true 看如下代码: void ActionFade

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

看如下代码:

void ActionFade::onEnter()
{
    ActionsDemo::onEnter();

    centerSprites(2);

    //m_tamara->setOpacity( 0 );
    CCActionInterval*  action1 = CCFadeIn::create(1.0f);
    CCActionInterval*  action1Back = action1->reverse();

    CCActionInterval*  action2 = CCFadeOut::create(1.0f);
    CCActionInterval*  action2Back = action2->reverse();

	m_tamara->addChild(m_kathia);///
	m_tamara->setCascadeOpacityEnabled(true); //设置级联关系
	CCActionInterval *move = CCMoveBy::create(0.5f,ccp(m_tamara->getPositionX() - 20,m_tamara->getPositionY()));
	CCActionInterval *back = move->reverse();
    //m_tamara->runAction( CCSequence::create( action2,action1Back,NULL));
	m_tamara->runAction(CCRepeatForever::create(CCSequence::create( move,back,NULL)));
    //m_kathia->runAction( CCSequence::create( action2,action2Back,NULL));
	this->addChild(m_tamara);
}

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读