Quick-Cocos2d-x

2D游戏特效动画的播放机制

特效动画的播放机制

本文转载自逆水行舟的博客,版权归作者所有。

gitblog-logo

一. 简介

动画在2D游戏里用得十分广泛, 根据这些动画的特点,我们可以大概归为3类

1. 粒子动画

这种动画是由几百甚至上千个粒子构成, 所有粒子都共享一个纹理, 这些粒子都是从一个发射器发出, 加以一定的随机因素, 在不同发射速度和重力等外力作用下,每个粒子呈现不一样的运动状态, 大量粒子可以组合成各种各样不一样的效果, 比如烟花, 火焰. 粒子动画的实现一般都会使用批次渲染和对象池来保证性能.

2. 骨骼动画

这种动画通常用于表现有多个动作的角色, 它通常是由骨骼(bone)和绑定在骨骼上的蒙皮(skin/mesh)构成.

动画师通常在spine(2d)或者3dmax等工具里面对骨骼动作进行设计, 同时对蒙皮进行编辑.

3. 特效动画

特效动画不需要或者难以使用骨骼进行表达, 比如一个刀光效果或者一闪一闪的星星, 我们可以使用最原始的实现方式, 对动画的每一帧都画一张图片, 依次连续展示这些图片就可以达到动画效果.

但是这种方法实现的动画过于浪费空间和内存. 其中有非常多的特效我们可以通过关键帧动画的方式来实现, 常使用Flash工具进行关键帧动画的设计.

本文中下面只讨论关键帧动画的实现.

阅读全文»

Quick-Cocos2dx-Community 3.6.3 beta 更新说明

  1. spine runtime 更新到匹配 spine 3.4 编辑器。
  2. Luajit log buffer size恢复到512,解决log信息不全。
  3. UISilder bugfix:在onSliderPressed中调用silderValue不能正确更新滑块位置。
  4. OpenSSL更新到1.0.2g,以保证google play 审核。
  5. 重新编译网络库,以支持ipv6(iOS App Store 审核)。
  6. sockettcp 加入ipv6网络检查(服务器地址必需域名方式)。

下载:百度盘下载, 校验码 shasum 512: 8ee980af5a9195f31a2e91c56e4be47e7051567b

[Bugfix]chipmunk在iOS上诡异的坐标bug修正

存在 bug 的版本

Quick-Cocos2dx-Community 3.6.1。

bug 将在 Quick-Cocos2dx-Community 3.6.2 中修正。

bug 描述

chipmunk中有一个对iOS坐标点的处理宏,默认为打开状态,编译后使用iOS原生的CGPoint,在某种诡异的情况下,物理碰撞后,刚体会消失在屏幕中,猜测是坐标点数据异常了。

阅读全文»

Quick-Cocos2d-x 社区版 3.6.2 Release 版本发布

信息

版本号:v3.6.2 Release, build 761cb94 (第二次发布,前一个包损坏)
下载地址:http://pan.baidu.com/s/1qYb3xSC
sha-512 checksum 3c01d9e3e1522507da359133dd2adadf297ded988479615b459ac42f08ea67f5d8aeb9fe26e28a628b54335b159e60e03b1abe6e2cca99bf244cafb67a641fd6

新增

  1. spine 新增加lua绑定接口,详细信息
  2. 新增加 quick 热更新demo。
  3. network.createHTTPRequest 新增put和delete方法支持。

阅读全文»

Quick-Cocos2d-x 社区版 spine 新增 Lua 接口绑定setAttachment、findBone、findSlot

These features will coming in next stable release: Quick-Cocos2d-x 3.6.2 Release

spine 换装接口 setAttachment

首先你在制作骨骼的时候,需要给一个 slot 设置多个 attachment,spine在一个时刻只会显示其中的一个 attachment,动态切换 attachment 调用 SkeletonRenderer::setAttachment接口。这个接口自动绑定并未提供,社区版手动绑定提供给开发者使用。

注:只有一个参数时,表示去掉slot的Attachment,不显示图片。

阅读全文»

Quick-Cocos2d-x 社区版 3.6.2 Beta 测试版本发布

更新说明

  1. 更新LuaJIT 2.1.0-beta2,有童鞋已经注意到了,LuaJIT 2.1.0-beta1下的luajit64默认没有打开jit, 而新的beta2已经修正这个问题,这是LuaJIT官方的改进。
    https://github.com/iTyran/Quick-Cocos2dx-Community/issues/45
  2. 新加入了一个lua在线更新的demo,位于Quick-Cocos2dx-Community/quick/samples/liveupdate,
    可在player的sample页面直接运行。由于文件系统基于pc考虑,运行到移动系统可能需要稍作修改。各位看官可自行分析代码,同时欢迎大家提供反馈修改意见。

本demo由新加入的Quick社区开发人员:马润生提供。

  1. 另本版本合并了qinhanlei、sunhantao PR的cocos studio3.10支持改进,用的是cc/uiloader/CCSUILoader2,并不是C++层的支持,各位看官注意。
  2. 最后是 yjun 提交的network中的 createHTTPRequest添加put和delete方法支持 。

注意:是quick的network,不是cocos的httprequest。
我知道引擎存在两套httprequest是很奇怪的,但这是历史原因了:(

阅读全文»

?>