cocos2d-x V3.14.1 版本更新说明
2017-05-08 16:25
651 查看
在2017新年来临之际,Cocos引擎团队送上了新一年的惊喜:Cocos2d-x v3.14全新版本。该版本支持所有平台使用luajit 2.10-beta2、Sprite支持九宫格特性、新增动作类ResizeBy和ResizeTo......这么多给力的新功能,相信你一定会喜欢的。
话不多说,下面我们赶紧来细细盘点Cocos2d-x v3.14新版新惊喜。
主要新特性列表
支持Spine二进制格式
所有平台使用luajit 2.10-beta2
新增动作类:ResizeBy和ResizeTo
Android模拟支持关闭多点触摸
Sprite支持九宫格特性
动作类新增功能,可以根据tag查询某一节点正在运行的动作数量
Button类可以设置title内容
EditBox支持文本水平对齐
支持Mac平台手柄
主 要 特 性 详 解
1、所有平台使用luajit 2.10-beta2 性能显著提升
之前的luajit版本无法在PC上方便地编译出arm64的字节码,需要用真机(比如iPhone6真机)编译,因此在之前的版本,iOS 64位使用的是lua,iOS 32位使用的是luajit。
新版本支持luajit 2.10-beta2版,开发者可以方便地在PC平台编译出arm64位的字节码,因此我们在各平台都使用了luajit,这样能够提升性能。如果使用Cocos命令编译、打包的话,那么Cocos命令会自动编译出对应平台的字节码,如果有生成64位字节码的话,那么会把这些字节码放到64-bit目录下。当然你也可以通过Cocos luacompile自己编译字节码,具体的使用方式可以参考Cocos luacompile -h输出的帮助信息。
通过Cocos命令编译、打包生成的字节码时各平台的情况如下:
2、Sprite支持九宫格特性 UI 界面调整更方便
在开发 UI 界面时,我们通常会使用九宫格格式的图像来显示尺寸可能会根据适配屏幕分辨率的需要动态修改的 UI 元素。如今Sprite现在支持九宫格特性了,使用方式如下: c++ auto sprite = Sprite::create(...); // set center rect
// the origin is top-left sprite->setCenterRectNormalized(Rect(x, y, width, heigh)); 这样即使使用很小的原始图片也能生成覆盖整个屏幕的背景图像,一方面节约游戏包体空间,另一方面能够灵活适配不同的排版需要。
详细信息可以参考Sprite::setCenterNormalized()的注释。
3、支持Spine二进制格式 解析更高效文件更小
使用方式没有改变,只是文件格式变成了二进制格式。这样的好处就是解析效率更高,文件更小。具体的使用方法如下:
`c++ skeletonNode = SkeletonAnimation::createWithBinaryFile("spine/spineboy.skel", "spine/spineboy.atlas", 0.6f);
...
4、新增两大动作类 节点缩放更方便
新增加两个动作类:ResizeBy和ResizeTo。和ScaleBy、ScaleTo不同的是,ResizeBy和ResizeTo改变的是节点的content size的大小。这种动作对于支持九宫格特性的节点的缩放效果比ScaleBy和ScaleTo好,因为ScaleBy和ScaleTo是对节点做整体缩放。效果对比如下:
5、已知问题说明
如果使用Xcode 8.2,那么lua工程会在iOS模拟器上崩溃。通过调试发现崩溃在lua_open函数的调用上。如果使用Xcode 8.1或一下版本,那么没有问题。我们怀疑这是Xcode的bug,在v3.14无法解决。使用lua的开发者在位iOS平台开发时有两个选择:
使用Xcode 8.1或者一下版本
使用Xcode 8.2,在Mac或者iOS真机开发、调试
该问题的进展可以跟踪下列帖子:
https://github.com/cocos2d/cocos2d-x/issues/17043
更多详细的改动列表,欢迎查看:
https://github.com/cocos2d/cocos2d-x/blob/v3/CHANGELOG
Cocos2d-x v3.14.1
修复的问题
如果创建物理场景但是没有设置3d物理的摄像机,那么程序会崩溃
由于glfw版本冲突,在linux平台可能会有链接错误
通过带有多边形信息的sprite frame创建的Sprite效果不对
VS2015编译Lua工程时有链接错误
通过cocos compile/run -p android --android-studio命令编译Android工程时会有编译错误
其他
通过查看3.14.1版本信息了解所有的问题或者代码改动。
原地址:http://www.cocos.com/cocos2dx
更多问题和技术交流欢迎加入QQ群讨论:83459374
话不多说,下面我们赶紧来细细盘点Cocos2d-x v3.14新版新惊喜。
主要新特性列表
支持Spine二进制格式
所有平台使用luajit 2.10-beta2
新增动作类:ResizeBy和ResizeTo
Android模拟支持关闭多点触摸
Sprite支持九宫格特性
动作类新增功能,可以根据tag查询某一节点正在运行的动作数量
Button类可以设置title内容
EditBox支持文本水平对齐
支持Mac平台手柄
主 要 特 性 详 解
1、所有平台使用luajit 2.10-beta2 性能显著提升
之前的luajit版本无法在PC上方便地编译出arm64的字节码,需要用真机(比如iPhone6真机)编译,因此在之前的版本,iOS 64位使用的是lua,iOS 32位使用的是luajit。
新版本支持luajit 2.10-beta2版,开发者可以方便地在PC平台编译出arm64位的字节码,因此我们在各平台都使用了luajit,这样能够提升性能。如果使用Cocos命令编译、打包的话,那么Cocos命令会自动编译出对应平台的字节码,如果有生成64位字节码的话,那么会把这些字节码放到64-bit目录下。当然你也可以通过Cocos luacompile自己编译字节码,具体的使用方式可以参考Cocos luacompile -h输出的帮助信息。
通过Cocos命令编译、打包生成的字节码时各平台的情况如下:
平台 | 生成32位字节码 | 生成64位字节码 |
iOS | 是 | 是 |
Android | 是,如果APP_ABI的内容不是只包含64位架构(APP_ABI := arm64-v8a) | 是,如果APP_ABI包含了64位架构,比如APP_ABI := arm64-v8a ... |
Mac | 否 | 是 |
Windows | 是 | 否 |
Linux | 否 | 否 |
2、Sprite支持九宫格特性 UI 界面调整更方便
在开发 UI 界面时,我们通常会使用九宫格格式的图像来显示尺寸可能会根据适配屏幕分辨率的需要动态修改的 UI 元素。如今Sprite现在支持九宫格特性了,使用方式如下: c++ auto sprite = Sprite::create(...); // set center rect
// the origin is top-left sprite->setCenterRectNormalized(Rect(x, y, width, heigh)); 这样即使使用很小的原始图片也能生成覆盖整个屏幕的背景图像,一方面节约游戏包体空间,另一方面能够灵活适配不同的排版需要。
详细信息可以参考Sprite::setCenterNormalized()的注释。
3、支持Spine二进制格式 解析更高效文件更小
使用方式没有改变,只是文件格式变成了二进制格式。这样的好处就是解析效率更高,文件更小。具体的使用方法如下:
`c++ skeletonNode = SkeletonAnimation::createWithBinaryFile("spine/spineboy.skel", "spine/spineboy.atlas", 0.6f);
...
4、新增两大动作类 节点缩放更方便
新增加两个动作类:ResizeBy和ResizeTo。和ScaleBy、ScaleTo不同的是,ResizeBy和ResizeTo改变的是节点的content size的大小。这种动作对于支持九宫格特性的节点的缩放效果比ScaleBy和ScaleTo好,因为ScaleBy和ScaleTo是对节点做整体缩放。效果对比如下:
5、已知问题说明
如果使用Xcode 8.2,那么lua工程会在iOS模拟器上崩溃。通过调试发现崩溃在lua_open函数的调用上。如果使用Xcode 8.1或一下版本,那么没有问题。我们怀疑这是Xcode的bug,在v3.14无法解决。使用lua的开发者在位iOS平台开发时有两个选择:
使用Xcode 8.1或者一下版本
使用Xcode 8.2,在Mac或者iOS真机开发、调试
该问题的进展可以跟踪下列帖子:
https://github.com/cocos2d/cocos2d-x/issues/17043
更多详细的改动列表,欢迎查看:
https://github.com/cocos2d/cocos2d-x/blob/v3/CHANGELOG
Cocos2d-x v3.14.1
修复的问题
如果创建物理场景但是没有设置3d物理的摄像机,那么程序会崩溃
由于glfw版本冲突,在linux平台可能会有链接错误
通过带有多边形信息的sprite frame创建的Sprite效果不对
VS2015编译Lua工程时有链接错误
通过cocos compile/run -p android --android-studio命令编译Android工程时会有编译错误
其他
通过查看3.14.1版本信息了解所有的问题或者代码改动。
原地址:http://www.cocos.com/cocos2dx
更多问题和技术交流欢迎加入QQ群讨论:83459374
相关文章推荐
- cocos2d-x V3.15 版本更新说明
- 关于 智能杀毒伴侣 相关说明及技巧及版本更新 (不断更新)
- ROS(indigo) 安装和使用更新版本的Gazebo----3,4,5,6,7 附:中国机器人大赛中型组仿真比赛说明
- HttpUploader6-queue版本更新说明
- [寒江孤叶丶的Cocos2d-x之旅_13]Cocos2d-x 3.2版本以上LUA脚本加密解决方案【12.19更新】
- ROS(indigo) 安装和使用更新版本的Gazebo----3,4,5,6,7 附:中国机器人大赛中型组仿真比赛说明
- Unity NGUI——3.8.1版本更新说明
- [Spark--版本更新]--2.1.2发行说明
- 《连载 - 物联网框架ServerSuperIO教程》- 15.数据持久化接口的使用。附:3.2发布与版本更新说明。
- 联网更新版本功能的流程说明
- Cocos2d-Js热更新(最完整版本,包括自己做的过程中遇到的坑都在里面)
- Cocos2d-x 3.6版本学习笔记-热更新
- 记录cocos2d-x3.0版本更改内容官方说明
- Unity NGUI——3.8.2版本更新说明
- Cocos2d-x 3.2版本以上LUA脚本热更新(动态更新)解决方案
- [Spark--版本更新]--2.2.1发行说明
- 《连载 | 物联网框架ServerSuperIO教程》- 15.数据持久化接口的使用。附:3.2发布与版本更新说明。
- Cocos API风格说明(Cocos2d-xV3.0以上版本)
- PostgreSQL 9.6更新版本发布说明
- [资料分享] 关于web-iou 版本更新(包括相关问题说明)