发布于 2014-10-22 10:18:58 | 429 次阅读 | 评论: 0 | 来源: 网友投递

这里有新鲜出炉的精品教程,程序狗速度看过来!

Cocos2d-x

Cocos2d-x是一个开源的移动2D游戏框架,MIT许可证下发布的。这是一个C++ Cocos2d-iPhone项目的版本。Cocos2d-X发展的重点是围绕Cocos2d跨平台,Cocos2d-x提供的框架。手机游戏,可以写在C++或者Lua中,使用API是Cocos2d-iPhone完全兼容。Cocos2d-x项目可以很容易地建立和运行在iOS,Android,黑莓Blackberry等操作系统中。


我们很高兴地宣布Cocos2d-x v3.3-RC0发布了!

Cocos2d-x v3.3-RC0下载地址http://cn.cocos2d-x.org/download

关于v3.3各个版本的特性和改动的话,可以参考这篇文档

注意事项

lua

在新建工程时,引擎自带的lua文件会被拷贝到src/cocos目录下。这样开发者可以更好地管理所有的所有的lua文件。我们同时提供了cocos/init.lua用于加载引擎自带的这些lua文件,所以如果你是从旧的引擎升级上来的话,需要删除对这些自带lua文件的加载操作:

require "Cocos2d"
require "Cocos2dConstants"
require "bitExtend"
require "DrawPrimitives"
require "extern"
require "json"
require "Opengl"
require "OpenglConstants"
require "CCBReaderLoad"
require "AudioEngine"
require “CocoStudio”
require “StudioConstants”
require “ControllerConstants”
require “ExtensionConstants”
require “NetworkConstants”
require “GuiConstants”
require “experimentalUIConstants”

luaj和luaoc比较特殊,它们不能和别的lua文件一样默认在cocos/init.lua中加载。因为加载这两个lua文件会返回一个对象,lua代码会使用返回的对象进行操作,所以需要替换对应的加载路径,具体修改如下:

require "luaj" -> require "cocos.cocos2d.luaj"

require "luaoc" -> require "cocos.cocos2d.luaoc"

兼容旧API的lua文件默认没有被加载上来,如果需要使用这些deprecated API的话,只需要修改src/main.lua的一行代码来启用:

``` -- 注释掉下面这行代码可以启用deprecated的API -- CCUSEDEPRECATED_API = true require "cocos.init"

```

wp8

如果希望使用Cocos2dShaderCompiler来预编译shader的话,需要使用VS2013 with update 3这个版本。

 

v3.3-RC0新特性

  • 3D:增加了光照,包括平行光、点光源、聚光灯和环境光

  • 新的音频系统支持增加Mac OS X和Windows的支持

  • Spine的runtime更新到了最新版本v2.0.18

  • 增加了Application::openURL(),用于打开一个URL链接

  • 增加了AssetsManagerEx,这个模块是之前的AssetsManger的增强版本

  • 增加了对Tiled Map Editor导出的新地图类型(staggered tile map)的支持

  • 增加了ClippingRectangleNode,可以用来裁剪矩形区域

  • Node的schedule/unschedule支持lambda表达式

  • plugin增加了对Facebook平台的支持,所有的Facebook的特性都支持了,不过这些API还需要和Facebook的工程师一起改进

 

新特性详细说明

光照

为了让3D物体看起来更真实,引擎在这个版本增加了光照支持。引擎总共支持4种类型光照:

  • 方向光

  • 点光源

  • 聚光灯

  • 环境光

方向光表示一个非常远的光源,投射的光线是平行的,通常用来模拟太阳光。

下面的代码可以在场景中添加一个方向光:

auto directionalLight = DirectionLight::create(Vec3(-1.0f, -1.0f, 0.0f), Color3B(200, 200, 200)); 
addChild(directionalLight);

添加的光源默认是开启的,可以通过下面的代码关闭该光源:

directionalLight->setEnabled(false);

你也可以给光源设置一个标记:

directionalLight->setLightFlag(LightFlag::LIGHT0);

这样只有那些灯光的mask与灯光的标记相与为非零值的3d精灵才能受灯光的影响。

点光源从空间中某点向四周均匀发射有限长度的光线,可以用来模拟向四周发射状的光源。

聚光灯从某点发射一个圆锥形状,可以用来模拟台灯,舞台灯等。注意,聚光灯比较消耗GPU计算时间。 
环境光,向四周发射光线,模拟一个屋子等的环境,说不清楚光线来自哪个方向,四周是均匀的。 
注意我们用前向光照渲染算法,光源的数量对计算性能有一定影响。你可以设置shader中支持的最大光源数目,并且把它放在一个配置文件中,如下:

<key>cocos2d.x.3d.max_dir_light_in_shader</key>
<integer>1</integer>
<key>cocos2d.x.3d.max_point_light_in_shader</key>
<integer>1</integer>
<key>cocos2d.x.3d.max_spot_light_in_shader</key>
<integer>1</integer>

 

Spine runtime

Spine runtime更新到了最新版本v2.0.18。这个版本的Spine runtime支持FFD(Free-Form-Deformation),可以让mesh自由变形。

Spine runtime更新了license,要求引擎不能改动任何源码,及时发现问题了也不能改,只能给它发pull request,所以大家不要再往引擎提交对Spine runtime的修改,我们不能合并。

新的Spine的测试例子可以参考tests/cpp-tests/Classes/SpineTest/SpineTest.cpp。

 

AssetsManagerEx

AssetsManagerEx是AssetsManager的增强版本,和AssetsManager相比,AssetsManagerEx有如下优点:

  • 使用一个配置文件,使得可以支持更复杂的升级操作

  • 使用多线程下载

  • 支持断点续传

详细信息请可以参考这篇文档

 

Application::openURL

你可以使用这个函数来打开一个URL链接:

Application::getInstance()->openURL("http://www.cocos2d-x.org/");

 

ClippingRectangleNode

ClippingRectantleNode是ClippingNode的轻量级版本。和ClippingNode相比,有如下优缺点:

优点

  • 不依赖深度缓冲池(stencil buffer),这样在Android设备会有更好地兼容性

  • 效率更高

缺点

只能裁剪矩形区域,不能裁剪不规则图形

auto clipper = ClippingRectangleNode::create(); 
clipper->setClippingRegion(0, 0, 200, 200); 
this->addChild(clipper);
auto content = Sprite::create("MyPicture.png"); 
... 
clipper->addChild(content);


历史版本 :
Cocos2d-x 3.14 发布,C++ 游戏开发引擎
Cocos2d-x v3.8 beta0 发布
cocos2d-x-3.7.1 发布,C++ 游戏开发引擎
Cocos2d-x v3.4 Final 发布,支持 Frustum Culling
cocos2d-x-2.2.6 分支更新 Cocos JSCompile
Cocos2d-x 3.3/2.2.6 发布,更多 3D 特性支持
Cocos 2d-x 游戏引擎全面支持 Facebook 平台
Cocos2d-x v3.3-RC0 发布说明!
cocos2d-x v3.3 beta0 发布
两大开源游戏引擎Cocos2d-x及OGEngine对比分析
Cocos2d-x 3.2.0 正式版发布,新增集成开发环境
Cocos2d-x v.2.2.5 发布,手机游戏引擎
最新网友评论  共有(0)条评论 发布评论 返回顶部

Copyright © 2007-2017 PHPERZ.COM All Rights Reserved   冀ICP备14009818号  版权声明  广告服务