在cocos2d上动画化CCSprite?

嘿伙计们,我是cocos2d和iPhone开发的新手,我目前正试图制作像“PapiJump”这样的游戏, 我目前遇到的问题是,在我的游戏中为角色CCSprite制作动画, 我创建了3个我的角色图像,角色指向右,左和中间(http://i53.tinypic.com/ngzoyh.png) 所以当角色改变方向(左或右)时,它不会直接“跳”到另一个方向但会动画。 在我的代码中我使用TouchesEnded方法,在这个方法中我设置了一个名为“touchState”的变量, 因此,如果用户触摸屏幕的右侧,则将“touchState”设置为1,否则将其设置为2(表示左侧)。 然后在“init”方法中,我创建了一个“schedule”,每隔0.5秒运行另一个方法,名为:“updateGame”, “updateGame”方法更新了玩家的位置,它的工作原理如下: player.position = ccp(player.position.x,player.position.y - playerGravity.y); 我已经阅读了Ray关于动画CCSprites的教程,但我不知道如何实现我需要的结果.. 提前谢谢,抱歉我的英语不好!     
已邀请:
NSMutableArray *walkAnimFrames = [NSMutableArray array];
for(int i = 1; i <= 4; ++i)
{
    [walkAnimFrames addObject: [[CCSpriteFrameCache sharedSpriteFrameCache]     spriteFrameByName: [NSString stringWithFormat:@"spr_fillin_0%d.png", i]]];
}
CCAnimation *walkAnim = [CCAnimation animationWithFrames:walkAnimFrames delay:0.0333f];

_sprite = [CCSprite spriteWithSpriteFrameName:@"spr_fillin_01.png"];
[_sprite runAction:[CCRepeatForever actionWithAction: [CCAnimate actionWithAnimation:walkAnim restoreOriginalFrame:NO]]];

[<CCLAYER OR BATCH NODE> addChild:_sprite];
编辑:看起来你正在谈论只是翻转图像。你可以用它来重新获取精灵
_sprite = [CCSprite spriteWithSpriteFrameName:@"<New Sprite File>"];
(或缓存它们并切换)     
你能澄清一下你的问题吗?如果要设置不同的精灵帧,可以使用
setDisplayFrame
CCSpriteFrame *spriteFrame = [[CCSpriteFrameCache sharedSpriteFrameCache] spriteFrameByName:frameName];
[sprite setDisplayFrame:frame];
或者如果你有动画:
[sprite runAction:[CCAnimate actionWithAnimation:runAnimation restoreOriginalFrame:NO]];
但我觉得这个问题有点模糊。     
如果我正确地提出了你的问题,我可以建议两种方法来解决你的问题:   首先,您可以将对象旋转到倒置,然后使用FlipX(或FlipY)标记标记为true继续您之前的动画,或者您可以添加动画,仅动画字符旋转,并且当它完成时更改FLIPX(或FlipY)状态。     

要回复问题请先登录注册