1

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

无论手臂向哪个方向延伸,相同的动画只是在不同的角度工作(动画是在男孩的手臂直接在他的头上方制作的)。

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

4

1 回答 1

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 度。

于 2012-12-07T03:39:43.087 回答