cocos2dx之如何生成动画
2013-12-07 23:30
411 查看
我们在***游戏的过程中,看到的sprite都很多不同的行为,其实就是很多张图构成的,我们可以用工具texture Packer来生成plist文件,然后只要读取该图片中的帧数就可以了,我们接下来看代码:
注意:
这里不再是create了,而是createWithSpriteFrameName去给该动画添加一帧。而不是一个单独的sprite了。
创建一个有着不同行为的动画成功!
void MySpriteAnimationLayer::initLayer() { CCSize s = CCDirector::sharedDirector()->getWinSize(); CCSpriteFrameCache* cache = CCSpriteFrameCache::sharedSpriteFrameCache(); //cache->addSpriteFramesWithFile("animations/grossini.plist"); cache->addSpriteFramesWithFile("animations/MyTps-hd.plist"); // // Animation using Sprite BatchNode // m_pSprite1 = CCSprite::createWithSpriteFrameName("grossini_dance_01.png"); m_pSprite1->setPosition( ccp( s.width/2-80, s.height/2) ); CCSpriteBatchNode* spritebatch = CCSpriteBatchNode::create("animations/MyTps-hd.png"); spritebatch->addChild(m_pSprite1); addChild(spritebatch); CCArray* animFrames = CCArray::createWithCapacity(15); char str[100] = {0}; for(int i = 1; i < 15; i++) { sprintf(str, "grossini_dance_%02d.png", i); CCSpriteFrame* frame = cache->spriteFrameByName( str ); animFrames->addObject(frame); } CCAnimation* animation = CCAnimation::createWithSpriteFrames(animFrames, 0.3f); m_pSprite1->runAction( CCRepeatForever::create( CCAnimate::create(animation) ) ); }
注意:
m_pSprite1 = CCSprite::createWithSpriteFrameName("grossini_dance_01.png"); m_pSprite1->setPosition( ccp( s.width/2-80, s.height/2) );
这里不再是create了,而是createWithSpriteFrameName去给该动画添加一帧。而不是一个单独的sprite了。
创建一个有着不同行为的动画成功!
相关文章推荐
- cocos2dx如何添加popScene的场景动画
- [cocos2dx] 如何解决cocostudio创建的动画不能适配问题
- 如何使用SVG生成超酷的页面预加载素描动画效果
- cocos2dx 使用plist生成动画
- 如何截取屏幕并生成GIF动画
- 【WP 8.1开发】如何动态生成Gif动画
- 如何使用SVG生成超酷的页面预加载素描动画效果
- 【WP 8.1开发】如何动态生成Gif动画项目
- 如何使用SVG生成超酷的页面预加载素描动画效果
- 【WP 8.1开发】如何动态生成Gif动画
- 如何截取屏幕并生成GIF动画
- 如何使用SVG生成超酷的页面预加载素描动画效果
- cocos2dx之如何利用plist文件来制作循环动画
- 如何使用SVG生成超酷的页面预加载素描动画效果
- 前端动画渲染引擎pixi.js系列(9)如何生成缩略图
- 寒風的Cocos2dx之旅之如何实现一个动画的播放
- cocos2dx2.2版本之后,如何生成项目工程
- cocos2dx如何添加popScene的场景动画
- cocos2dx如何添加popScene的场景动画
- ios应用打包测试之如何生成.mobileprovision文件