6
Cocos2dでは、特定のパス上を移動するアニメーションを作成できますか?Cocos2dはパス上でアニメーションを移動します
たとえば、円弧または円で移動するオブジェクトが必要な場合はどうすればよいですか?
よろしくお願いいたします。
Cocos2dでは、特定のパス上を移動するアニメーションを作成できますか?Cocos2dはパス上でアニメーションを移動します
たとえば、円弧または円で移動するオブジェクトが必要な場合はどうすればよいですか?
よろしくお願いいたします。
確かにあなたが使用してこれを行うことができます。
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];
あなたがカーブで任意のノードを移動するためにccBezierを使用することができます。
今アニメーションパート:
[[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];
参考リンク:http://www.raywenderlich.com/1271/how-to-use-animations-and-sprite-sheets-in-cocos2d