Cocos2d-x 绘制动画

需要说明的是:因为cocos2d-x是通用游戏引擎,为了保证兼容性和易用性,对动画机制作了最简单的设计(被做成了一个action)。但代价就是绘制动画的代码可能比较多,如果在实际开发中,一般都要选择自己封装。最好自己开发一个编辑器,开发编辑器最好使用Qt,因为是跨平台的。

在66RPG里找了一张动画资源。

 实例代码如下:

 1 CCSize size = CCDirector::sharedDirector()->getWinSize();
 2 
 3         CCTexture2D* texture = CCTextureCache::sharedTextureCache()->addImage("pic2408.png");
 4 
 5         CCSpriteFrame *frame0 = CCSpriteFrame::createWithTexture(texture, CCRectMake(96 * 0, 100 * 0, 96, 100));
 6 
 7         CCSpriteFrame *frame1 = CCSpriteFrame::createWithTexture(texture, CCRectMake(96 * 1, 100 * 0, 96, 100));
 8 
 9         CCSpriteFrame *frame2 = CCSpriteFrame::createWithTexture(texture, CCRectMake(96 * 2, 100 * 0, 96, 100));
10 
11         CCSpriteFrame *frame3 = CCSpriteFrame::createWithTexture(texture, CCRectMake(96 * 3, 100 * 0, 96, 100));
12 
13         CCArray* animationArray = CCArray::create();
14 
15         animationArray->addObject(frame0);
16 
17         animationArray->addObject(frame1);
18 
19         animationArray->addObject(frame2);
20 
21         animationArray->addObject(frame3);
22 
23         CCAnimation* animation = CCAnimation::createWithSpriteFrames(animationArray, 0.5f);
24         CC_BREAK_IF(! animation);
25 
26         CCSprite* sprite = CCSprite::createWithSpriteFrame(frame0);
27         CC_BREAK_IF(! sprite);
28 
29         sprite->setPosition(ccp(size.width / 2, size.height / 2));
30 
31         this->addChild(sprite, 2);
32 
33         CCAnimate* animate = CCAnimate::create(animation);
34         sprite->runAction(CCRepeatForever::create(animate));

绘制效果如图:

 

简单过程是,使用CCTexture2D加载图片 ,用CCTexture2D生成对应的CCSpriteFrame(对应的就是帧),将CCSpriteFrame添加到CCAnimation生成动画数据,用CCAnimation生成CCAnimate(就是最终的动画动作),最后用CCSprite执行这个动作。

转载于:https://www.cnblogs.com/atong/archive/2013/03/15/2961196.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
cocos2d-x是一款流行的开源跨平台游戏开发框架,它提供了丰富的功能和强大的工具,能够帮助开发者快速高效地开发出各种类型的游戏。 功夫小子是cocos2d-x框架下的一个经典示例游戏,它是一个有趣的格斗类游戏。 功夫小子原码是指该游戏的源代码,可以通过查看和修改源代码来深入了解游戏的逻辑和实现方式。 欲获取功夫小子原码,首先需要前往cocos2d-x的官方网站或者GitHub仓库,并下载相应版本的cocos2d-x框架。 接着,在cocos2d-x框架的示例项目中找到功夫小子的源代码。一般示例项目的源代码都会放在特定的文件夹中,可以通过查阅相应的文档或者搜索引擎得到准确的路径。 在找到源代码后,可以使用任何文本编辑器或者集成开发环境(IDE)打开代码文件。这样就可以查看功夫小子的源代码,包括游戏的各种逻辑,角色的行为,游戏的关卡设计等等。 通过阅读源代码,我们可以了解到游戏是如何实现各种功能的,例如如何控制角色的移动、攻击等行为,如何处理用户输入,如何绘制游戏场景,以及如何处理碰撞和动画等。 同时,我们还可以在原码的基础上进行修改和扩展,以满足自己的需求。这可以包括增加新的角色、关卡、道具等,甚至改变游戏的玩法和风格。 总之,功夫小子原码是一个非常有价值的学习资源,通过深入研究源代码,我们可以更好地理解和掌握cocos2d-x框架的使用,也可以从中获得启发和灵感,为自己的游戏开发项目提供有益的参考。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值