Of course you can do this using:
ccBezierConfig bezier; bezier.controlPoint_1 = ccp(320,0); // control point 1 bezier.controlPoint_2 =ccp(0,0); // control point 2 bezier.endPosition = ccp(endPoint.x,endPoint.y) ; id bezierForward = [CCBezierTo actionWithDuration:3 bezier:bezier]; [ball runAction:bezierForward];
you can use ccBezier to move any node in the curves:
Now part of the animation:
[[CCSpriteFrameCache sharedSpriteFrameCache] addSpriteFramesWithFile:@"eggAnimation.plist"]; spriteSheet = [CCSpriteBatchNode batchNodeWithFile:@"eggAnimation.png"]; [gameBackgroundLayer addChild:spriteSheet]; eggAnimFrames = [NSMutableArray array]; for ( int i = 1; i <= 10; i++ ) { [eggAnimFrames addObject:[[CCSpriteFrameCache sharedSpriteFrameCache] spriteFrameByName:[NSString stringWithFormat:@"%d.png", i]]]; } rotateAnim = [CCAnimation animationWithFrames:eggAnimFrames delay:0.05f]; ball = [CCSprite spriteWithSpriteFrameName:@"1.png"]; ball.position=ccp(160,80); rotateAction =[CCRepeatForever actionWithAction:[CCAnimate actionWithAnimation:rotateAnim restoreOriginalFrame:YES]]; [spriteSheet addChild:ball];
Links http://www.raywenderlich.com/1271/how-to-use-animations-and-sprite-sheets-in-cocos2d
http://www.math.ubc.ca/~cass/gfx/bezier.html
source share