用cocos2dx来做好玩的游戏 第一天 添加精灵动画
2014-02-12 00:01
453 查看
1.使用TexturePacker将图片打包成Action1.plist
2.代码中读入图片资源
3.分别创建帧动画和位移动画
4.同时播放帧动画和位移动画
具体代码如下:
2.代码中读入图片资源
3.分别创建帧动画和位移动画
4.同时播放帧动画和位移动画
具体代码如下:
#include "MenuScene.h" USING_NS_CC; CCScene *MenuScene::scene() { CCScene *scene = CCScene::create(); MenuScene *layer = MenuScene::create(); scene->addChild(layer); return scene; } bool MenuScene::init() { if (!CCLayer::init()) { return false; } this->setTouchEnabled(true); // 触摸开启 // 添加背景 CCSize visibleSize = CCDirector::sharedDirector()->getVisibleSize(); CCPoint origin = CCDirector::sharedDirector()->getVisibleOrigin(); CCSprite *spriteBG = CCSprite::create("background.png"); spriteBG->setPosition(ccp(visibleSize.width/2 + origin.x, visibleSize.height/2 + origin.y)); this->addChild(spriteBG, 0); // 创建动画 // 将精灵添加进缓冲区 CCSpriteFrameCache::sharedSpriteFrameCache()->addSpriteFramesWithFile("Action1.plist"); // 创建帧数组并将缓冲区图片加入数组 CCArray *runArray = CCArray::create(); for (int i=1; i<5; i++) { // CCLog(CCString::createWithFormat("cm00%d.png", i)->getCString()); runArray->addObject(CCSpriteFrameCache::sharedSpriteFrameCache()->spriteFrameByName(CCString::createWithFormat("cm00%d.png", i)->getCString())); } // 指定第一张图为第一帧 CCSprite *sprite = CCSprite::createWithSpriteFrame((CCSpriteFrame *)runArray->objectAtIndex(0)); // 获取精灵大小并设置精灵各个位置坐标 CCSize spriteSize = sprite->getContentSize(); float startX = origin.x - spriteSize.width; float midX = visibleSize.width / 2; float endX = visibleSize.width + spriteSize.width; float startY = visibleSize.height / 2; float midY = startY; float endY = startY; // 添加精灵到起始位置 sprite->setPosition(ccp(startX, startY)); this->addChild(sprite); // 创建行走动画 CCAnimation *frameAnimation = CCAnimation::createWithSpriteFrames(runArray, 0.2f); CCAnimate *frameAnimate = CCAnimate::create(frameAnimation); // 创建位移动画 从屏幕左边走出,移动到屏幕中央 CCFiniteTimeAction *moveToMidAction = CCMoveTo::create(3.5, ccp(midX, midY)); // 播放帧动画 sprite->runAction(CCRepeatForever::create(frameAnimate)); // 播放位移动画 sprite->runAction(moveToMidAction); return true; }
相关文章推荐
- cocos2dx 3D战斗类游戏制作:【三】——基于数据库的3D精灵动画2
- 在cocos2dx-2.2.2中为UIWidget添加动画
- 【WiEngine 游戏引擎】基础(1)添加一个精灵
- 【COCOS2DX-游戏开发之五】添加GameCenter
- AndEngine添加多个动画精灵的方法
- RuPengGame游戏引擎 精灵 createSprite 创建 setSpritePosition 设置位置 playSpriteAnimate 播放动画 setSpriteFlipX设置翻转 精灵图片下载地址
- cocos2dx游戏--欢欢英雄传说--添加游戏背景
- 【WP7进阶】——XNA游戏精灵的动画 推荐
- 【iphone游戏开发】iphone-Cocos2d游戏开发之四:精灵实现缩放,旋转,跳动,移动等动画
- C#开发WPF/Silverlight动画及游戏系列教程(Game Tutorial):(十四) 精灵控件横空出世!①
- C#开发WPF/Silverlight动画及游戏系列教程(Game Tutorial):(十七) 完美精灵之八面玲珑(WPF Only)①
- C#开发WPF/Silverlight动画及游戏系列教程(Game Tutorial):(十八) 完美精灵之八面玲珑(WPF Only)②
- iphone游戏开发之cocos2d ( 十 )使用纹理图册,更方便生成精灵动画
- 探cocos2dx对游戏精灵(sprite_nodes)的实现。(源码版本2.2.3)
- Java动画 重力弹球 如鹏游戏引擎 精灵 设计一个小球加速落地又减速弹起并反复直到停止的Java程序
- 15、Cocos2dx 3.0游戏开发找小三之Sprite:每一个精灵都是上辈子折翼的天使
- 【iphone游戏开发】iphone-Cocos2d游戏开发之四:精灵实现缩放,旋转,跳动,移动等动画
- 【WP7进阶】——XNA游戏精灵的动画
- C#开发WPF/Silverlight动画及游戏系列教程(Game Tutorial):(十五) 精灵控件横空出世!②
- C#开发WPF/Silverlight动画及游戏系列教程(Game Tutorial):(十八) 完美精灵之八面玲珑(WPF Only)②