今天,我带领大家学习一下Cocos2d-x 2.0的序列帧动画。在Cocos2d-x中,提供了相应的一些类和方法,可以方便的生成序列帧动画,这样我们就可以制做各种人物动作以及动画效果。这就是鱼在水里游动的基础动画。

序列帧动画主要有几个类:

CCSpriteFrame:精灵帧信息,序列帧动画是依靠多个精灵帧信息来显示相应的纹理图像,一个精灵帧信息包包含了所使用的纹理,对应纹理块的位置以及纹理块是否经过旋转和偏移,这些信息可以取得对应纹理中正确的纹理块区域做为精灵帧显示的图像。

CCAnimationFrame:序列帧动画单帧信息,它存储了对应的精灵帧信息。

CCAnimation:序列帧动画信息,它存储了所有的单帧信息,可以对单帧信息进行管理。

CCAnimate:序列帧动画处理类,它是真正完成动画表演的类。

void GameScene::fishAnim(){
<span style="white-space:pre">     </span>SpriteFrameCache *frameCache = SpriteFrameCache::getInstance();frameCache->addSpriteFramesWithFile("fish.plist", "fish.png");    //加载Plist缓存Size visibleSize = Director::getInstance()->getVisibleSize();auto fish = Sprite::createWithSpriteFrameName("fish1.png");     //创建一个鱼的首个帧fishVec.pushBack(fish);      //放进数组fish->setPosition(Vec2(dd, dt));     //设置坐标this->addChild(fish, 5);     //添加到场景Animation* animation = Animation::create();       //创建序列帧动画animation->setDelayPerUnit(0.01f);               //0.01s播放完序列帧动画animation->addSpriteFrame(frameCache1->getSpriteFrameByName("fish1.png"));animation->addSpriteFrame(frameCache1->getSpriteFrameByName("fish2.png"));animation->addSpriteFrame(frameCache1->getSpriteFrameByName("fish3.png"));     //3个序列帧动画顺序执行Animate* animate = Animate::create(animation);             //帧动画处理fish->runAction(Sequence::create(animate, CallFunc::create(CC_CALLBACK_0(GameScene::remove, this)), nullptr));
}

最后那个remove回调函数是用于删除动画,优化游戏环境。

对于基本的捕鱼游戏设计思路(四)——序列帧动画相关推荐

  1. 对于基本的捕鱼游戏设计思路(五)——鱼

    今天讲捕鱼游戏里鱼的部分,也是比较关键的一部分. 一步一步来,先分析游戏,首先鱼是从屏幕外生成,然后它有个移动的动作,而且分为不同的类型. 然后就可以进入代码部分,首先设置一个计时器,控制时间生成鱼, ...

  2. iOS简易蓝牙对战五子棋游戏设计思路之二——核心棋盘逻辑与胜负判定算法

    2019独角兽企业重金招聘Python工程师标准>>> iOS简易蓝牙对战五子棋游戏设计思路之二--核心棋盘逻辑与胜负判定算法 一.引言 上一篇博客我们介绍了在开发一款蓝牙对战五子棋 ...

  3. 2048小游戏设计思路

    2048小游戏设计思路: 游戏初始截图: 游戏过程中截图: 游戏失败截图: 部分代码: <!DOCTYPE html><html> <head><meta h ...

  4. iOS简易蓝牙对战五子棋游戏设计思路之一——核心蓝牙通讯类的设计

    iOS简易蓝牙对战五子棋游戏设计思路之一--核心蓝牙通讯类的设计 一.引言 本系列博客将系统的介绍一款蓝牙对战五子棋的开发思路与过程,其中的核心部分有两个,一部分是蓝牙通讯中对战双方信息交互框架的设计 ...

  5. 常见游戏设计思路及手法

    常见游戏设计思路及手法 从设计的角度来看,任何体验都是已经被"计划"好的.但是游戏的结果,可能是一个概率事件,而这种概率事件也是体验的一部分. 游戏的类型 游戏有很多的类型,比如& ...

  6. 2D手机Dota游戏设计思路

    2D手机Dota游戏设计思路 游戏类型:2D,移动平台,塔防策略,单机 面向平台:android,ios 游戏的可玩性:尽量能把PC Dota游戏的长处转移过来.推塔,出装备,使用技能的爽快感. 画面 ...

  7. 浅谈H5捕鱼游戏设计

    很少写文章,记录一下,开发捕鱼游戏的设计和开发流程: 游戏架构设计:平台php+前端用的是laybox(ts)+服务端erlang+数据库PostgreSQL(少量数据存游戏服mnesia) H5游戏 ...

  8. 为什么越来越多大学生沉溺于游戏中? ---游戏设计思路

    游戏都是针对人性弱点来设计的,所以很多人沉迷 为什么越来越多大学生沉溺于游戏中?  迷踪,整理狂◆文具控◆写作理论爱好者 因为所有游戏的设计都是冲着"人性的弱点"来的. 1.即时反 ...

  9. 浅谈微端游戏设计思路

    其实很多游戏之所以容量大,主要是因为资源的关系,资源太多,造成容量庞大.为啥现在很多3D游戏容量这么大?主要是资源量太多造成容量越来越庞大,而游戏内容不见得比其他游戏多多少.例如3D游戏,可能同样的模 ...

最新文章

  1. 有了这个科研思路,高水平SCI就在手边!
  2. 如何在Rancher 2.2 Preview2上部署和管理多K8s集群应用
  3. sgn matlab,matlab中.*的问题
  4. 今天仔细学习了html加载执行的顺序
  5. 使用DOM4J读取和维护XML数据
  6. Stack(栈 c++模版实现)
  7. 你真的懂break和continue吗?这篇文章让你明白
  8. android 用户中心布局,android用户中心头像选择功能的方法实现-Go语言中文社区
  9. 运动目标跟踪(十六)--OAB,SemiT,BSBT跟踪
  10. spring @POSTConstruction注解的作用
  11. python静态地图_Matplotlib Toolkits:地图绘制工具
  12. PHP 可变变量的使用
  13. android studio打包h5打包,AndroidStudio将html5打包成apk
  14. js书写原生ajax,javascript原生ajax写法
  15. matlab大地坐标与经纬度转换,如何把经纬度转化为大地坐标
  16. 箭头函数与this指向详解
  17. [转载]Geronimo 叛逆者,第 8 部分: 未来的 Apache Geronimo
  18. 预测评价指标RMSE、MSE、MAE、MAPE、SMAPE
  19. 利用矩阵相乘公式Cij = ∑ a ik × b kj,编程计算m×n阶矩阵A和n×m阶矩阵B之积
  20. 权重推送 产品定位 直通车投放 关键词 直通车人群 创意标题 补单 新手上路,直通车烧钱没效果怎么办?

热门文章

  1. vue中打印插件vue-print-nb(一)——基本示例
  2. python连接sql数据库并查询_Python通过pymysql连接数据库并进行查询和更新SQL方法封装...
  3. Android基础(一)ListView
  4. 婚礼上新娘和新郎的服装搭配及配饰
  5. 有什么值得推荐的手机游戏和网页游戏?
  6. 模仿天天酷跑(一)开发准备工作
  7. 适合大学生在线学习编程网站分享
  8. 【随笔】谷歌浏览器+终端命令行下载美拍视频
  9. 高性能验证码图片生成
  10. 安捷伦网络分析仪测试阻抗