Instruções de atualização da versão cocos2d-x V3.14.1

Por ocasião do ano novo de 2017, a equipe de motores Cocos enviou uma surpresa para o ano novo: uma nova versão do Cocos2d-x v3.14. Esta versão suporta todas as plataformas para usar luajit 2.10-beta2, Sprite suporta o recurso Jiugongge, novas classes de ação ResizeBy e ResizeTo... tantas novas funções poderosas, acredito que você vai gostar delas. 280986329434709337   Não há muito a dizer, vamos dar uma olhada nas novas surpresas da nova versão do Cocos2d-x v3.14.  

Lista dos principais novos recursos

  • Suporte para formato binário Spine
  • Todas as plataformas usam luajit 2.10-beta2
  • Novas classes de ação: ResizeBy e ResizeTo
  • Suporte de emulação Android para desligar multitoque
  • Sprite suporta o recurso Jiugongge
  • A nova função da classe action, você pode consultar a quantidade de ações que um nó está executando de acordo com a tag
  • A classe Button pode definir o conteúdo do título
  • EditBox suporta alinhamento horizontal de texto
  • Suporte ao controlador de plataforma Mac

Explicação detalhada dos principais recursos

1. O desempenho de todas as plataformas que usam luajit 2.10-beta2 foi significativamente melhorado

A versão anterior do luajit não pode compilar facilmente o bytecode arm64 em um PC e precisa ser compilada com uma máquina real (como uma máquina real iPhone6), portanto, na versão anterior, o iOS de 64 bits usa lua e o iOS 32 bits usa lua.luajit.

A nova versão suporta luajit 2.10-beta2. Os desenvolvedores podem facilmente compilar bytecode arm64 bits na plataforma PC. Portanto, usamos luajit em todas as plataformas para melhorar o desempenho. Se você usar o comando Cocos para compilar e empacotar, o comando Cocos compilará automaticamente o bytecode da plataforma correspondente. Se o bytecode de 64 bits for gerado, esses bytecodes serão colocados no diretório de 64 bits. Claro, você também pode compilar o bytecode por meio do Cocos luacompile.Para métodos de uso específicos, consulte as informações de ajuda geradas pelo Cocos luacompile -h.

Ao compilar e empacotar o bytecode gerado através do comando Cocos, a situação de cada plataforma é a seguinte:

plataforma

Gerar bytecode de 32 bits

Gerar bytecode de 64 bits

iOS

sim

sim

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-fatia-1  

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

3、支持Spine二进制格式 解析更高效文件更小

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

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

...

espinha-binário

4、新增两大动作类 节点缩放更方便

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

redimensionar-ação-efeito

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

Acho que você gosta

Origin blog.csdn.net/u013007305/article/details/71424480
Recomendado
Clasificación