我使用cocos2d-x在xcode中創建遊戲。我是cocos2d-x的新手。當新聞發佈按鈕時停止當前動畫
我創建了兩個按鈕,使用CCControlButton
跳轉&幻燈片。我創建了運行&幻燈片的動畫,並使用名爲man的相同精靈名稱。
對於運行我創建在init()&幻燈片我創建了一個單獨的函數調用rotate.when我按下幻燈片按鈕,幻燈片動畫運行&當我釋放運行動畫正在運行。
,當我拿着滑動按鈕幻燈片動畫應該保持幻燈片&當我釋放滑動按鈕,幻燈片動畫應停止&運行動畫應該運行,但是當釋放滑動按鈕,跳轉按鈕不起作用,因爲我給的條件爲只有if(man->numberofrunningaction()==1)
它應該跳。
當我按下幻燈片時,動作數量正在增加。任何人都請幫我找到解決辦法。
我使用下面的代碼跳,幻燈片動畫&運行阿尼姆..
void PlayScene::rotate()
{
anim1=CCAnimation::create();
anim1->addSpriteFrameWithFileName("11.png");
anim1->addSpriteFrameWithFileName("11.png");
anim1->addSpriteFrameWithFileName("11.png");
anim1->setLoops(4);
anim1->setDelayPerUnit(0.05f);
man->runAction(CCAnimate::create(anim1));
man->setPosition(ccp(winwsize/5.5,winhsize/2.2));
CCRotateBy *rot=CCRotateBy::create(1, 0.000000001);
man->runAction(rot);
}
init()
man=CCSprite::create();
man->retain();
anim=CCAnimation::create();
anim->retain();
anim->addSpriteFrameWithFileName("1.png");
anim->addSpriteFrameWithFileName("2.png");
anim->addSpriteFrameWithFileName("3.png");
anim->addSpriteFrameWithFileName("4.png");
anim->addSpriteFrameWithFileName("5.png");
anim->addSpriteFrameWithFileName("6.png");
anim->addSpriteFrameWithFileName("7.png");
anim->addSpriteFrameWithFileName("8.png");
anim->addSpriteFrameWithFileName("9.png");
anim->setLoops(-1);
anim->setDelayPerUnit(0.05f);
man->runAction(CCAnimate::create(anim));
man->setPosition(ccp(winwsize/5.5,winhsize/2.2));
this->addChild(man,1);
creating button for jump & slide.
CCControlButton *rotate = CCControlButton::create(CCScale9Sprite::create("jump1.png"));
rotate->setAdjustBackgroundImage(false);
rotate->setPosition(ccp(CCDirector::sharedDirector()->getWinSize().width - 70,70));
rotate>addTargetWithActionForControlEvents(this,cccontrol_selector
(PlayScene::jumpfun),CCControlEventTouchDown);
addChild(rotate, 3);
CCControlButton *jumpbutton=CCControlButton::create(CCScale9Sprite::create("slide2.png"));
jumpbutton->setAdjustBackgroundImage(false);
jumpbutton->setPosition(ccp(CCDirector::sharedDirector()->getWinSize().width - 250,70));
jumpbutton->addTargetWithActionForControlEvents(this,
cccontrol_selector(PlayScene::rotate),CCControlEventTouchDown);
jumpbutton->addTargetWithActionForControlEvents(this, cccontrol_selector
(PlayScene::buttonup),CCControlEventTouchUpInside);
addChild(jumpbutton, 3);
void PlayScene::buttonup()
{
anim1->setLoops(0);
}
man-> stopActionByTag(10); – user3682177
在旋轉功能ani = CCAnimate :: create(anim1); ani-> setTag(10); man-> runAction(ani); – user3682177