Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 8 additions & 0 deletions CHANGELOG
Original file line number Diff line number Diff line change
@@ -1,3 +1,11 @@
cocos2d-x-3.14.1 ??

[FIX] May crash if using `Scene::createWithPhysics()` to create a scene and physics3d camera is not set
[FIX] May have link error because of glfw conflict on Linux
[FIX] Sprite: created from sprite frame with polygon information can not work correctly
[FIX] Lua: link error with VS2015
[FIX] Lua: compiling error if using `cocos compile/run -p android --android-studio` on Android

coocs2d-x-3.14 Dec 22 2016

[NEW] Add Spine binary file format support
Expand Down
2 changes: 1 addition & 1 deletion cocos/cocos2d.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@ NS_CC_BEGIN

CC_DLL const char* cocos2dVersion()
{
return "cocos2d-x-3.14";
return "cocos2d-x-3.14.1rc0";
}

NS_CC_END
Expand Down
2 changes: 1 addition & 1 deletion cocos/cocos2d.h
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@ THE SOFTWARE.

// 0x00 HI ME LO
// 00 03 08 00
#define COCOS2D_VERSION 0x00031400
#define COCOS2D_VERSION 0x00031401

//
// all cocos2d include files
Expand Down
66 changes: 12 additions & 54 deletions docs/RELEASE_NOTES.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,69 +2,27 @@
<!-- DON'T EDIT THIS SECTION, INSTEAD RE-RUN doctoc TO UPDATE -->
**Table of Contents** *generated with [DocToc](https://github.com/thlorenz/doctoc)*

- [Cocos2d-x 3.14 Release Notes](#cocos2d-x-314-release-notes)
- [Cocos2d-x 3.14.1rc0 Release Notes](#cocos2d-x-3141rc0-release-notes)
- [Misc Information](#misc-information)
- [v3.14](#v314)
- [New features](#new-features)
- [Features in detail](#features-in-detail)
- [Uses luajit 2.1.0-beta2 for all platforms](#uses-luajit-210-beta2-for-all-platforms)
- [Sprite supports slice9 feature](#sprite-supports-slice9-feature)
- [v3.14.1rc0](#v3141rc0)
- [Bug fixed](#bug-fixed)

<!-- END doctoc generated TOC please keep comment here to allow auto update -->

# Cocos2d-x 3.14 Release Notes #
# Cocos2d-x 3.14.1rc0 Release Notes #

# Misc Information

* [Full Changelog](https://github.com/cocos2d/cocos2d-x/blob/v3/CHANGELOG)

# v3.14
# v3.14.1rc0

## New features
## Bug fixed

* Adds Spine binary file format support
* Uses luajit 2.1.0-beta2 for all platforms
* Adds new actions: `ResizeBy` and `ResizeTo`
* Can disable multi-touch on Android
* Sprite supports slice9 feature
* Action adds a method to get the number of actions running on a given node with specific tag
* Can set `Button`'s title label
* `EditBox` adds horizontal text alignment
* Supports game controller on Mac
* May crash if using `Scene::createWithPhysics()` to create a scene and physics3d camera is not set
* May have link error because of glfw conflict on Linux
* Sprite: created from sprite frame with polygon information can not work correctly
* Lua: link error with VS2015
* Lua: compiling error if using `cocos compile/run -p android --android-studio` on Android

## Features in detail

### Uses luajit 2.1.0-beta2 for all platforms

In previous it is not convenient to generate luajit 64bit bytecode. You need to generate the bytecode in real devices, which means you should generate luajit 64bit bytecode on iOS 64bit devices.

Now, we can generate luajit 64bit bytecode on Mac OS X, windows or linux, so we change to use luajit for all platforms. If you use cocos command with `-m release`, it will generate bytecode automatically. And it will put 64bit bytecode into `64-bit` folder. One exception is that, it doesn't generate luajit bytecode on linux, we don't know whether to generate 32bit or 64bit byte codes. So you should generate luajit bytecode yourself by using `cocos luacompile` command. Please refer to the help information of `cocos luacompile -h` for detail usage.

The generated bytecodes architecture are:

Platform | generate 32bit luajit bytecode | generate 64bit luajit bytecode |
---|---|---
iOS | yes | yes
Android | yes if APP\_ABI not only includes arm64-v8a, such as `APP_ABI := arm64-v8a` | yes if APP_ABI includes arm64-v8a
Mac | not | yes
Windows | yes | no
Linux | no | no

### Sprite supports slice9 feature

Now Sprite supports slice9 feature, you can use it like:

```c++
auto sprite = Sprite::create(...);
// set center rect
// the origin is top-left
sprite->setCenterRectNormalized(Rect(x, y, width, heigh));
```

More detail information please refer to the comments of `Sprite::setCenterNormalized()`.

## Known issue

lua project will crash on iOS simulator if using Xcode 8.2+. The issue is caused by luajit. We thought it is a but of Xcode because there is not problem if using Xcode 8.1 or lower version.

We can not fix it in v3.14, can track [the issue](https://github.com/cocos2d/cocos2d-x/issues/17043) for the progress of this issue.
Can refer to [v3.14.1 milestone](https://github.com/cocos2d/cocos2d-x/milestone/36?closed=1) for detail informations of all PRs/issues.
90 changes: 10 additions & 80 deletions docs/RELEASE_NOTES_CN.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,92 +2,22 @@
<!-- DON'T EDIT THIS SECTION, INSTEAD RE-RUN doctoc TO UPDATE -->
**Table of Contents** *generated with [DocToc](https://github.com/thlorenz/doctoc)*

- [v3.14](#v314)
- [新特性](#%E6%96%B0%E7%89%B9%E6%80%A7)
- [特性详细介绍](#%E7%89%B9%E6%80%A7%E8%AF%A6%E7%BB%86%E4%BB%8B%E7%BB%8D)
- [所有平台使用luajit 2.10-beta2](#%E6%89%80%E6%9C%89%E5%B9%B3%E5%8F%B0%E4%BD%BF%E7%94%A8luajit-210-beta2)
- [Sprite支持九宫格特性](#sprite%E6%94%AF%E6%8C%81%E4%B9%9D%E5%AE%AB%E6%A0%BC%E7%89%B9%E6%80%A7)
- [支持Spine二进制格式](#%E6%94%AF%E6%8C%81spine%E4%BA%8C%E8%BF%9B%E5%88%B6%E6%A0%BC%E5%BC%8F)
- [新增加动作类](#%E6%96%B0%E5%A2%9E%E5%8A%A0%E5%8A%A8%E4%BD%9C%E7%B1%BB)
- [已知问题](#%E5%B7%B2%E7%9F%A5%E9%97%AE%E9%A2%98)
- [v3.14.1rc0](#v3141rc0)
- [修复的问题](#%E4%BF%AE%E5%A4%8D%E7%9A%84%E9%97%AE%E9%A2%98)
- [其他](#%E5%85%B6%E4%BB%96)

<!-- END doctoc generated TOC please keep comment here to allow auto update -->

# v3.14
# v3.14.1rc0

## 新特性
## 修复的问题

* 支持Spine二进制格式
* 所有平台使用luajit 2.10-beta2
* 新增动作类:`ResizeBy`和`ResizeTo`
* Android模拟支持关闭多点触摸
* Sprite支持九宫格特性
* 动作类新增功能,可以根据tag查询某一节点正在运行的动作数量
* Button类可以设置title内容
* EditBox支持文本水平对齐
* 支持Mac平台手柄

## 特性详细介绍

### 所有平台使用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 | 否 |否

### Sprite支持九宫格特性

Sprite现在支持九宫格特性了,使用方式如下

```c++
auto sprite = Sprite::create(...);
// set center rect
// the origin is top-left
sprite->setCenterRectNormalized(Rect(x, y, width, heigh));
```

详细信息可以参考`Sprite::setCenterNormalized()`的注释。

![sprite-slice](https://raw.githubusercontent.com/minggo/Pictures/master/sprite-slice.png)

### 支持Spine二进制格式

使用方式没有改变,只是文件格式变成了二进制格式。这样的好处就是解析效率更高,文件更小。具体的使用方法如下:

```c++
skeletonNode = SkeletonAnimation::createWithBinaryFile("spine/spineboy.skel", "spine/spineboy.atlas", 0.6f);

...
```

![spine-binary](https://raw.githubusercontent.com/minggo/Pictures/master/spine-binary.png)

### 新增加动作类

新增加两个动作类:`ResizeBy`和`ResizeTo`。和`ScaleBy`、`ScaleTo`不同的是,`ResizeBy`和`ResizeTo`改变的是节点的content size的大小。这种动作对于支持九宫格特性的节点的缩放效果比`ScaleBy`和`ScaleTo`好,因为`ScaleBy`和`ScaleTo`是对节点做整体缩放。效果对比如下:

![resize-action-effect](https://raw.githubusercontent.com/minggo/Pictures/master/resize-action-effect.png)

## 已知问题

如果使用Xcode 8.2,那么lua工程会在iOS模拟器上崩溃。通过调试发现崩溃在`lua_open`函数的调用上。如果使用Xcode 8.1或一下版本,那么没有问题。我们怀疑这是Xcode的bug,在v3.14无法解决。使用lua的开发者在位iOS平台开发时有两个选择:

* 使用Xcode 8.1或者一下版本
* 使用Xcode 8.2,在Mac或者iOS真机开发、调试

该问题的进展可以跟踪[这个issue](https://github.com/cocos2d/cocos2d-x/issues/17043)。
* 如果创建物理场景但是没有设置3d物理的摄像机,那么程序会崩溃
* 由于glfw版本冲突,在linux平台可能会有链接错误
* 通过带有多边形信息的sprite frame创建的Sprite效果不对
* VS2015编译Lua工程时有链接错误
* 通过`cocos compile/run -p android --android-studio`命令编译Android工程时会有编译错误

## 其他

[详细的改动内容](https://github.com/cocos2d/cocos2d-x/blob/v3/CHANGELOG)
通过查看[3.14.1版本信息](https://github.com/cocos2d/cocos2d-x/milestone/36?closed=1)了解所有的问题或者代码改动
2 changes: 1 addition & 1 deletion docs/doxygen.config
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,7 @@ PROJECT_NAME = Cocos2d-x
# could be handy for archiving the generated documentation or if some version
# control system is used.

PROJECT_NUMBER = v3.14
PROJECT_NUMBER = v3.14.1rc0

# Using the PROJECT_BRIEF tag one can provide an optional one line description
# for a project that appears at the top of each page and should give viewer a
Expand Down