如何在cocos2d中以指定角度播放动画?

时间:2012-12-07 03:20:15

标签: animation cocos2d-iphone angle

我有这个动画我做的是一个手臂从一个人的头部上方移动到他身体的中心。从手臂边缘到小伙子身体中点的距离是圆的半径,所以无论男士的手臂是向右,向左还是向上,距离都是完全相同的,此外,动画是无论手臂从哪个方向传到中心,都完全一样。如果只有4个攻击方向,我知道我可以制作4种不同的动画,但在我的游戏中,手臂可以伸展的方向无限,因为用户滑动并且手臂在那个确切的方向上延伸。

无论手臂向哪个方向伸展,同样的动画只能以不同的角度运动(动画是在手臂正上方的情况下制作的。)

我可以计算出手臂伸展的角度,但是如果你知道我的意思,怎么能以这个角度播放动画呢?

1 个答案:

答案 0 :(得分:0)

好吧,如果您设置动画的第一个精灵的旋转,整个帧数组将会倾斜,就像我的一个游戏中的示例一样:

CCAnimation *anim;
NSString *frameName;
NSString *animName;

anim = [self getAnimationFor:mapAnimationTypeIdle];
animName = [self getAnimationNameFor:mapAnimationTypeIdle];
frameName = [self getFrameNameForAnimationNamed:animName andFrame:1];
CCAction *forever = [CCRepeatForever actionWithAction:
                       [CCAnimate actionWithAnimation:anim]
                    ];
_soldierAnim = 
    [CCSprite spriteWithSpriteFrame:
       [[CCSpriteFrameCache sharedSpriteFrameCache] spriteFrameByName:frameName]
    ];
[self addChild:_soldierAnim z:0 tag:_tagForSoldierAnimation];
_soldierAnim.rotation=22;
[_soldierAnim runAction:forever];

我刚试过这个,它将整个动画倾斜了22度。