//------------------------------------------------------------------ // // ActionCallFunc // //------------------------------------------------------------------ void ActionCallFunc::onEnter() { ActionsDemo::onEnter(); centerSprites(3); CCFiniteTimeAction* action = CCSequence::actions( CCMoveBy::actionWithDuration(2, CGPointMake(200,0)), CCCallFunc::actionWithTarget(this, callfunc_selector(ActionCallFunc::callback1)), NULL); CCFiniteTimeAction* action2 = CCSequence::actions( CCScaleBy::actionWithDuration(2 , 2), CCFadeOut::actionWithDuration(2), CCCallFuncN::actionWithTarget(this, callfuncN_selector(ActionSequence2::callback2)), NULL); CCFiniteTimeAction* action3 = CCSequence::actions( CCRotateBy::actionWithDuration(3 , 360), CCFadeOut::actionWithDuration(2), CCCallFuncND::actionWithTarget(this, callfuncND_selector(ActionSequence2::callback3), (void*)0xbebabeba), NULL); m_grossini->runAction(action); m_tamara->runAction(action2); m_kathia->runAction(action3); }
//------------------------------------------------------------------ // // ActionBlink // //------------------------------------------------------------------ void ActionBlink::onEnter() { ActionsDemo::onEnter(); centerSprites(2); CCActionInterval* action1 = CCBlink::actionWithDuration(2, 10); CCActionInterval* action2 = CCBlink::actionWithDuration(2, 5); m_tamara->runAction( action1); m_kathia->runAction(action2); }
//------------------------------------------------------------------ // // ActionRepeatForever // //------------------------------------------------------------------ void ActionRepeatForever::onEnter() { ActionsDemo::onEnter(); centerSprites(1); CCFiniteTimeAction* action = CCSequence::actions( CCDelayTime::actionWithDuration(1), CCCallFuncN::actionWithTarget( this, callfuncN_selector(ActionRepeatForever::repeatForever) ), NULL); m_grossini->runAction(action); }
void ActionTint::onEnter() { ActionsDemo::onEnter(); centerSprites(2); CCActionInterval* action1 = CCTintTo::actionWithDuration(2, 255, 0, 255); CCActionInterval* action2 = CCTintBy::actionWithDuration(2, -127, -255, -127); CCActionInterval* action2Back = action2->reverse(); m_tamara->runAction( action1); m_kathia->runAction( CCSequence::actions( action2, action2Back, NULL)); }
void SpriteEaseBezier::onEnter() { EaseSpriteDemo::onEnter(); auto s = Director::getInstance()->getWinSize(); // // startPosition can be any coordinate, but since the movement // is relative to the Bezier curve, make it (0,0) // centerSprites(3); // sprite 1 ccBezierConfig bezier; bezier.controlPoint_1 = Point(0, s.height/2); bezier.controlPoint_2 = Point(300, -s.height/2); bezier.endPosition = Point(300,100); auto bezierForward = BezierBy::create(3, bezier); auto bezierEaseForward = EaseBezierAction::create(bezierForward); bezierEaseForward->setBezierParamer(0.5, 0.5, 1.0, 1.0); auto bezierEaseBack = bezierEaseForward->reverse(); auto rep = RepeatForever::create(Sequence::create( bezierEaseForward, bezierEaseBack, NULL)); // sprite 2 _tamara->setPosition(Point(80,160)); ccBezierConfig bezier2; bezier2.controlPoint_1 = Point(100, s.height/2); bezier2.controlPoint_2 = Point(200, -s.height/2); bezier2.endPosition = Point(240,160); auto bezierTo1 = BezierTo::create(2, bezier2); auto bezierEaseTo1 = EaseBezierAction::create(bezierTo1); bezierEaseTo1->setBezierParamer(0.5, 0.5, 1.0, 1.0); // sprite 3 _kathia->setPosition(Point(400,160)); auto bezierTo2 = BezierTo::create(2, bezier2); auto bezierEaseTo2 = EaseBezierAction::create(bezierTo2); bezierEaseTo2->setBezierParamer(0.0, 0.5, -5.0, 1.0); _grossini->runAction( rep); _tamara->runAction(bezierEaseTo1); _kathia->runAction(bezierTo2); }
//------------------------------------------------------------------ // // ActionRotateToRepeat // //------------------------------------------------------------------ void ActionRotateToRepeat::onEnter() { ActionsDemo::onEnter(); centerSprites(2); CCActionInterval* act1 = CCRotateTo::actionWithDuration(1, 90); CCActionInterval* act2 = CCRotateTo::actionWithDuration(1, 0); CCActionInterval* seq = (CCActionInterval*)(CCSequence::actions(act1, act2, NULL)); CCAction* rep1 = CCRepeatForever::actionWithAction(seq); CCActionInterval* rep2 = CCRepeat::actionWithAction((CCFiniteTimeAction*)(seq->copy()->autorelease()), 10); m_tamara->runAction(rep1); m_kathia->runAction(rep2); }
//------------------------------------------------------------------ // // ActionJump // //------------------------------------------------------------------ void ActionJump::onEnter() { ActionsDemo::onEnter(); centerSprites(3); CCActionInterval* actionTo = CCJumpTo::actionWithDuration(2, CGPointMake(300,300), 50, 4); CCActionInterval* actionBy = CCJumpBy::actionWithDuration(2, CGPointMake(300,0), 50, 4); CCActionInterval* actionUp = CCJumpBy::actionWithDuration(2, CGPointMake(0,0), 80, 4); CCActionInterval* actionByBack = actionBy->reverse(); m_tamara->runAction( actionTo); m_grossini->runAction( CCSequence::actions(actionBy, actionByBack, NULL)); m_kathia->runAction( CCRepeatForever::actionWithAction(actionUp)); }
//------------------------------------------------------------------ // // ActionScale // //------------------------------------------------------------------ void ActionScale::onEnter() { ActionsDemo::onEnter(); centerSprites(3); CCActionInterval* actionTo = CCScaleTo::actionWithDuration( 2, 0.5f); CCActionInterval* actionBy = CCScaleBy::actionWithDuration(2 , 2); CCActionInterval* actionBy2 = CCScaleBy::actionWithDuration(2, 0.25f, 4.5f); CCActionInterval* actionByBack = actionBy->reverse(); m_tamara->runAction( actionTo); m_grossini->runAction( CCSequence::actions(actionBy, actionByBack, NULL)); m_kathia->runAction( CCSequence::actions(actionBy2, actionBy2->reverse(), NULL)); }
//------------------------------------------------------------------ // // ActionFade // //------------------------------------------------------------------ void ActionFade::onEnter() { ActionsDemo::onEnter(); centerSprites(2); m_tamara->setOpacity( 0 ); CCActionInterval* action1 = CCFadeIn::actionWithDuration(1.0f); CCActionInterval* action1Back = action1->reverse(); CCActionInterval* action2 = CCFadeOut::actionWithDuration(1.0f); CCActionInterval* action2Back = action2->reverse(); m_tamara->runAction( CCSequence::actions( action1, action1Back, NULL)); m_kathia->runAction( CCSequence::actions( action2, action2Back, NULL)); }
//------------------------------------------------------------------ // // ActionMove // //------------------------------------------------------------------ void ActionMove::onEnter() { ActionsDemo::onEnter(); centerSprites(3); CGSize s = CCDirector::sharedDirector()->getWinSize(); CCActionInterval* actionTo = CCMoveTo::actionWithDuration(2, CGPointMake(s.width-40, s.height-40)); CCActionInterval* actionBy = CCMoveBy::actionWithDuration(2, CGPointMake(80,80)); CCActionInterval* actionByBack = actionBy->reverse(); m_tamara->runAction( actionTo); m_grossini->runAction( CCSequence::actions(actionBy, actionByBack, NULL)); m_kathia->runAction(CCMoveTo::actionWithDuration(1, CGPointMake(40,40))); }
//------------------------------------------------------------------ // // ActionRotateJerk // //------------------------------------------------------------------ void ActionRotateJerk::onEnter() { ActionsDemo::onEnter(); centerSprites(2); CCFiniteTimeAction* seq = CCSequence::actions( CCRotateTo::actionWithDuration(0.5f, -20), CCRotateTo::actionWithDuration(0.5f, 20), NULL); CCActionInterval* rep1 = CCRepeat::actionWithAction(seq, 10); CCAction* rep2 = CCRepeatForever::actionWithAction( (CCActionInterval*)(seq->copy()->autorelease()) ); m_tamara->runAction(rep1); m_kathia->runAction(rep2); }
//------------------------------------------------------------------ // // ActionRotate // //------------------------------------------------------------------ void ActionRotate::onEnter() { ActionsDemo::onEnter(); centerSprites(3); CCActionInterval* actionTo = CCRotateTo::actionWithDuration( 2, 45); CCActionInterval* actionTo2 = CCRotateTo::actionWithDuration( 2, -45); CCActionInterval* actionTo0 = CCRotateTo::actionWithDuration(2 , 0); m_tamara->runAction( CCSequence::actions(actionTo, actionTo0, NULL)); CCActionInterval* actionBy = CCRotateBy::actionWithDuration(2 , 360); CCActionInterval* actionByBack = actionBy->reverse(); m_grossini->runAction( CCSequence::actions(actionBy, actionByBack, NULL)); m_kathia->runAction( CCSequence::actions(actionTo2, actionTo0->copy()->autorelease(), NULL)); }
//------------------------------------------------------------------ // // ActionFollow // //------------------------------------------------------------------ void ActionFollow::onEnter() { ActionsDemo::onEnter(); centerSprites(1); CGSize s = CCDirector::sharedDirector()->getWinSize(); m_grossini->setPosition(CGPointMake(-200, s.height / 2)); CCActionInterval* move = CCMoveBy::actionWithDuration(2, CGPointMake(s.width * 3, 0)); CCActionInterval* move_back = move->reverse(); CCFiniteTimeAction* seq = CCSequence::actions(move, move_back, NULL); CCAction* rep = CCRepeatForever::actionWithAction((CCActionInterval*)seq); m_grossini->runAction(rep); this->runAction(CCFollow::actionWithTarget(m_grossini, CGRectMake(0, 0, s.width * 2 - 100, s.height))); }
//------------------------------------------------------------------ // // ActionAnimate // //------------------------------------------------------------------ void ActionAnimate::onEnter() { ActionsDemo::onEnter(); centerSprites(1); CCAnimation* animation = CCAnimation::animationWithName("dance", 0.2f); char frameName[100] = {0}; for( int i=1; i<15; i++) { sprintf(frameName, "Images/grossini_dance_%02d.png", i); animation->addFrameWithFileName(frameName); } CCActionInterval* action = CCAnimate::actionWithAnimation( animation, false); CCActionInterval* action_back = action->reverse(); m_grossini->runAction( CCSequence::actions( action, action_back, NULL)); }
//------------------------------------------------------------------ // // ActionBezier // //------------------------------------------------------------------ void ActionBezier::onEnter() { ActionsDemo::onEnter(); CGSize s = CCDirector::sharedDirector()->getWinSize(); // // startPosition can be any coordinate, but since the movement // is relative to the Bezier curve, make it (0,0) // centerSprites(3); // sprite 1 ccBezierConfig bezier; bezier.controlPoint_1 = CGPointMake(0, s.height/2); bezier.controlPoint_2 = CGPointMake(300, -s.height/2); bezier.endPosition = CGPointMake(300,100); CCActionInterval* bezierForward = CCBezierBy::actionWithDuration(3, bezier); CCActionInterval* bezierBack = bezierForward->reverse(); CCAction* rep = CCRepeatForever::actionWithAction((CCActionInterval*)CCSequence::actions( bezierForward, bezierBack, NULL)); // sprite 2 m_tamara->setPosition(CGPointMake(80,160)); ccBezierConfig bezier2; bezier2.controlPoint_1 = CGPointMake(100, s.height/2); bezier2.controlPoint_2 = CGPointMake(200, -s.height/2); bezier2.endPosition = CGPointMake(240,160); CCActionInterval* bezierTo1 = CCBezierTo::actionWithDuration(2, bezier2); // sprite 3 m_kathia->setPosition(CGPointMake(400,160)); CCActionInterval* bezierTo2 = CCBezierTo::actionWithDuration(2, bezier2); m_grossini->runAction( rep); m_tamara->runAction(bezierTo1); m_kathia->runAction(bezierTo2); }
//------------------------------------------------------------------ // // ActionOrbit // //------------------------------------------------------------------ void ActionOrbit::onEnter() { ActionsDemo::onEnter(); centerSprites(3); CCActionInterval* orbit1 = CCOrbitCamera::actionWithDuration(2,1, 0, 0, 180, 0, 0); CCFiniteTimeAction* action1 = CCSequence::actions( orbit1, orbit1->reverse(), NULL); CCActionInterval* orbit2 = CCOrbitCamera::actionWithDuration(2,1, 0, 0, 180, -45, 0); CCFiniteTimeAction* action2 = CCSequence::actions( orbit2, orbit2->reverse(), NULL); CCActionInterval* orbit3 = CCOrbitCamera::actionWithDuration(2,1, 0, 0, 180, 90, 0); CCFiniteTimeAction* action3 = CCSequence::actions( orbit3, orbit3->reverse(), NULL); m_kathia->runAction(CCRepeatForever::actionWithAction((CCActionInterval*)action1)); m_tamara->runAction(CCRepeatForever::actionWithAction((CCActionInterval*)action2)); m_grossini->runAction(CCRepeatForever::actionWithAction((CCActionInterval*)action3)); CCActionInterval* move = CCMoveBy::actionWithDuration(3, CGPointMake(100,-100)); CCActionInterval* move_back = move->reverse(); CCFiniteTimeAction* seq = CCSequence::actions(move, move_back, NULL); CCAction* rfe = CCRepeatForever::actionWithAction((CCActionInterval*)seq); m_kathia->runAction(rfe); m_tamara->runAction((CCAction*)(rfe->copy()->autorelease())); m_grossini->runAction((CCAction*)(rfe->copy()->autorelease())); }