
Cocos2d-x(多功能游戏开发系统框架)
v4.0 免费版- 软件大小:270.65 MB
- 更新日期:2020-12-08 09:51
- 软件语言:英文
- 软件类别:游戏工具
- 软件授权:免费版
- 软件官网:待审核
- 适用平台:WinXP, Win7, Win8, Win10, WinAll
- 软件厂商:

软件介绍 人气软件 下载地址
Cocos2d-x是一款采用C++编写的开源游戏框架,具有依赖于平台的薄层,它被广泛用于构建游戏,应用程序和其他基于跨平台GUI的交互式程序,还包括JavaScript和Lua绑定;全新的图形渲染器:用于Windows PC渲染器的Cocos2d已针对OpenGL的2D图形进行了优化,它支持骨骼动画,子画面图纸动画、坐标系、效果、多分辨率设备、纹理、过渡、平铺贴图和粒子;它采用了RenderQueue设计;游戏引擎包含许多组件,这些组件一起使用将有助于缩短开发时间,并且通常比自制引擎要好;游戏引擎通常包含以下部分或全部组件:渲染器,2d/3d图形,碰撞检测,物理引擎,声音,控制器支持,动画,序列等;游戏引擎通常支持多个平台,因此可以轻松开发您的游戏,然后将其部署到多个平台,而没有太多开销;由于Cocos2d-x是游戏引擎,因此它提供了用于开发跨平台移动和桌面游戏的简化API,通过将强大的功能封装在易于使用的API中,您可以专注于开发游戏,而不必担心技术基础的实现;Cocos2d-x将尽可能多地减轻您的负担!

软件功能
现代C ++ API(请参考3.0版中的更新)
跨平台-桌面和移动
能够在台式机上测试和调试游戏,然后将其推送到移动或台式机目标的功能
丰富的API功能,包括子画面,动作,动画,粒子,过渡,计时器,事件,声音,文件IO,持久性,骨骼动画,3D
游戏引擎是一种特殊的软件,它提供游戏开发时需要的常见功能;
引擎会提供许多组件,使用这些组件能缩短开发时间,让游戏开发变得更简单;
专业引擎通常会能比自制引擎表现出更好的性能。
游戏引擎通常会包含渲染器,2D/3D 图形元素,碰撞检测,物理引擎,声音,控制器支持,动画等部分。
Cocos2d-x就是这样的一个游戏引擎,它提供了许多易于使用的组件,有着更好的性能,还同时支持移动端和桌面端
Cocos2d-x 通过封装底层图形接口提供了易用的API,降低了游戏开发的门槛
让使用者可以专注于开发游戏,而不用关注底层的技术细节。
更重要的是 Cocos2d-x 是一个完全开源的游戏引擎
这就允许您在游戏开发过程中根据实际需要,定制化引擎的功能
如果您想要一个功能但又不知如何修改,提出这个需求,全世界的开发者可以一起为您完成。
只使用 Cocos2d-x 引擎,你就能完成一款游戏的开发,因为 Cocos2d-x 提供了游戏开发所需的一切。
精灵(Sprite)
之前我们提到,精灵是屏幕上移动的对象,它能被控制。
你喜欢玩的游戏中主角可能就是一个精灵,我知道你在想是不是每个图形对象都是一个精灵
如果你能控制它,它才是一个精灵,如果无法控制,那就只是一个节点(Node)。
准确的说Sprite是一个能通过改变自身的属性:角度,位置,缩放,颜色等,变成可控制动画的 2D 图像
开源跨平台游戏开发框架
Cocos2d-x 是一套成熟的开源跨平台游戏开发框架。
引擎提供了图形渲染、GUI、音频、网络、物理、用户输入等丰富的功能
被广泛应用于游戏开发及交互式应用的构建。
其核心采用 C++ 编写,支持使用 C++、Lua 进行开发。
Cocos2d-x 适配 iOS、Android、Windows 和 Mac 系统,功能侧重于原生移动平台
并向 3D 领域延伸扩展。
动作(Action)
动作(Action) 的功能就和字面含义一样,它通过改变一个 Node 对象的属性,让它表现出某种动作。
动作对象能实时的改变 Node 的属性,任何一个对象只要它是 Node 的子类都能被改变。
比如,你能通过动作对象把一个精灵从一个位置移动到另一个位置。
软件特色
引擎优势
Cocos2d-x 是 MIT 许可证下发布的一款功能强大的开源游戏引擎。
允许开发人员使用 C++、Javascript 及 Lua 三种语言来进行游戏开发。
支持所有常见平台,包括 iOS、Android、Windows、macOS、Linux。
引擎特性
现代化的 C++ API
立足于 C++ 同时支持 JavaScript/Lua 作为开发语言
可以跨平台部署, 支持 iOS、Android、Windows、macOS 和 Linux
可以在 PC 端完成游戏的测试,最终发布到移动端
完善的游戏功能支持,包含精灵、动作、动画、粒子特效、场景转换、事件、文件 IO、数据持久化、骨骼动画、3D
Cocos2d-x 用户不仅包括个人开发者和游戏开发爱好者,还包括许多知名大公司
如 Zynga、Wooga、Gamevil、Glu、GREE、Konami、TinyCo、HandyGames、IGG 及 Disney Mobile 等
使用 Cocos2d-x 开发的许多游戏占据苹果应用商店和谷歌应用商店排行榜
同时许多公司如触控、谷歌、微软、ARM,英特尔及黑莓的工程师在 Cocos2d-x 领域也非常活跃。
在中国,每一年的手游榜单大作,Cocos2d-x 从未缺席,市场份额占 50% 以上
游戏品类覆盖从轻度休闲,热火棋牌,到横版,SLG,重度 MMO 等市面全品类。
软件优势
场景(Scene) 是一个容器,容纳游戏中的各个元素,如精灵,标签,节点对象。
它负责着游戏的运行逻辑,以帧为单位渲染内容。
可以想象游戏就像一个电影,场景是观看者能看到的正在发生的情景。
一个电影至少需要一个场景,一个游戏也至少需要一个 Scene。
在使用 Cocos2d-x 进行游戏的开发中,你可以制作任意数量的场景,并在不同场景间轻松切换。
UI 组件不是游戏专用的,是个应用程序都可能会用几个。
看一看你常使用的应用程序,肯定能发现它有使用 UI 组件。
UI 代表什么,UI 组件是做什么的
UI 代表用户界面,是 User Interface 的缩写,你看到的屏幕上的东西就是用户界面。
界面组件有标签,按钮,菜单,滑动条等。
Cocos2d-x 提供了一套易用的 UI 组件,游戏开发过程中,你能很容易的把它们添加到游戏中。
听起来这可能很简单,但创建像 标签(Label) 这样的核心类实际要考虑很多问题。
可以想象创建一套自定义的组件是多么的困难!
当然你根本没必要这样做,因为你需要的我们都考虑到了。
使用说明
高级节点对象
除了 Label,Sprite 这些基本的节点对象外,Cocos2d-x 还提供了一些特殊的节点对象,来帮助构建一些高级功能。
也许你想制作一个基于瓦片地图的游戏,也许你想添加粒子效果,也许你想在游戏中添加一个 2D 滚动的边栏,别担心,这些特殊的节点对象能帮助你。
瓦片地图
在游戏开发过程中,我们会遇到超过屏幕大小的地图,例如在即时战略游戏中,它使得玩家可以在地图中滚动游戏画面。这类游戏通常会有丰富的背景元素,如果直接使用背景图切换的方式,需要为每个不同的场景准备一张背景图,而且每个背景图都不小,这样会造成资源浪费。
瓦片地图就是为了解决这问题而产生的。一张大的世界地图或者背景图可以由几种地形来表示,每种地形对应一张小的的图片,我们称这些小的地形图片为瓦片。把这些瓦片拼接在一起,一个完整的地图就组合出来了,这就是瓦片地图的原理。
在 Cocos2d-x 中,瓦片地图实现的是 TileMap 方案,TileMap 要求每个瓦片占据地图上一个四边形或六边形的区域。把不同的瓦片拼接在一起,就可以组成完整的地图。TileMap 使用一种基于 XML 的 TMX 格式文件。

使用 TMX 文件创建一个瓦片地图:
// reading in a tiled map.
auto map = TMXTiledMap::create("TileMap.tmx");
addChild(map, 0, 99); // with a tag of '99'
瓦片地图可能有许多层,通过层名获取到一个特定的层。
// how to get a specific layer
auto map = TMXTiledMap::create("TileMap.tmx");
auto layer = map->getLayer("Layer0");
auto tile = layer->getTileAt(Vec2(1, 63));
每个瓦片都有独一无二的位置和 ID,这使得我们很容易选择特定的瓦片。
通过位置访问:
// to obtain a specific tiles id
unsigned int gid = layer->getTileGIDAt(Vec2(0, 63));
瓦片地图布局示例:

有很多工具可以用来制作瓦片地图,Tiled 就是其中一款流行的制作工具,它有一个活跃的用户社区。推荐你去使用,上面的屏幕截图就来自 Tiled 的项目。
粒子系统
粒子系统是指计算机图形学中模拟特定现象的技术,它在模仿自然现象、物理现象及空间扭曲上具备得天独厚的优势,能为我们实现一些真实自然而又带有随机性的效果(如爆炸、烟花、水流)提供了方便。Cocos2d-x引擎中就为我们提供了强大的粒子系统。
下面是使用粒子系统完成的两个粒子特效:


创建粒子特效的工具
尽管你能手动创建粒子特效,按照喜好确定每个属性,但是使用工具往往更方便高效。下面介绍几个第三方工具:
Particle Designer:Mac 上一款非常强大的粒子特效编辑器
V-play particle editor:一款跨平台的粒子特效编辑器
Particle2dx:一款 Web 粒子特效编辑器,打开网页即可进行设计
使用这些工具完成粒子特效的设计,最终会导出一个 .plist 文件,Cocos2d-x 通过使用这种文件,就能把粒子特效添加到场景中,添加方法和操作一个普通的节点类型一样。
创建方法:
// create by plist file
auto particleSystem = ParticleSystem::create("SpinningPeas.plist");
内置粒子特效
准备好添加粒子特效到你的游戏中了吗?是否习惯创建自定义粒子特效?不习惯也没关系,我们内置了一些粒子特效,你可以直接使用。这个列表都是:
ParticleFire: Point particle system. Uses Gravity mode.
ParticleFireworks: Point particle system. Uses Gravity mode.
ParticleSun: Point particle system. Uses Gravity mode.
ParticleGalaxy: Point particle system. Uses Gravity mode.
ParticleFlower: Point particle system. Uses Gravity mode.
ParticleMeteor: Point particle system. Uses Gravity mode.
ParticleSpiral: Point particle system. Uses Gravity mode.
ParticleExplosion: Point particle system. Uses Gravity mode.
ParticleSmoke: Point particle system. Uses Gravity mode.
ParticleSnow: Point particle system. Uses Gravity mode.
ParticleRain: Point particle system. Uses Gravity mode.
比如使用内置的烟火特效 ParticleFireworks:
auto emitter = ParticleFireworks::create();
addChild(emitter, 10);
是这样的效果:
要是内置的粒子特效不是你想要的那样,也没关系,你可以直接手动设置参数!让我们拿上面的烟火特效示例,并通过手动改变属性进一步控制。
auto emitter = ParticleFireworks::create();
// set the duration
emitter->setDuration(ParticleSystem::DURATION_INFINITY);
// radius mode
emitter->setEmitterMode(ParticleSystem::Mode::RADIUS);
// radius mode: 100 pixels from center
emitter->setStartRadius(100);
emitter->setStartRadiusVar(0);
emitter->setEndRadius(ParticleSystem::START_RADIUS_EQUAL_TO_END_RADIUS);
emitter->setEndRadiusVar(0); // not used when start == end
addChild(emitter, 10);
视差滚动
视差滚动是指让多层背景以不同的速度移动,从而形成的立体运动效果。比如超级马里奥游戏中,角色所在地面的移动与背景天空的移动,就是一个视差滚动。Cocos2d-x 通过 ParallaxNode 对象模拟视差滚动。可以通过序列控制移动,也可以通过监听鼠标,触摸,加速度计,键盘等事件控制移动。ParallaxNode 对象比常规节点对象复杂一些,因为为了呈现不同的移动速度,需要多个子节点。它类似 Menu 像一个容器,本身不移动,移动的是被添加进入其中的不同子节点。
事件分发机制
Cocos2d-x 通过事件分发机制响应用户事件,已内置支持常见的事件如触摸事件,键盘事件等。同时提供了创建自定义事件的方法,满足我们在游戏的开发过程中,特殊的事件响应需求。
基本元素
事件监听器:负责接收事件,并执行预定义的事件处理函数
事件分发器:负责发起通知
事件对象:记录事件的相关信息
监听器
五种类型
EventListenerTouch - 响应触摸事件
EventListenerKeyboard - 响应键盘事件
EventListenerAcceleration - 响应加速度事件
EventListenMouse - 响应鼠标事件
EventListenerCustom - 响应自定义事件
事件的吞没
当你有一个监听器,已经接收到了期望的事件,这时事件应该被吞没。事件被吞没,意味着在事件的传递过程中,你消耗了此事件,事件不再向下传递。避免了下游的其它监听器获取到此事件。
优先级
事件的吞没中,我们提到了事件的传递。事件如何传递,先到哪个监听器?这是由优先级决定的。
固定值优先级 使用一个整形的数值,数值较低的监听器比数值较高的监听器,先接收到事件。
场景图优先级 是指向节点对象的指针,z-order 较高的节点中的监听器比 z-order 较低的节点中的,先接收到事件。由于 z-order 较高的节点在顶部绘制,所以使用这种优先级可以确保触摸事件被正确响应
还记得这个场景图吗?图像绘制时,是按照 A, B, C, D, E, F, G, H, I 的顺序。
当使用 场景图优先级 时,事件是按照绘制的反方向,即 I, H, G, F, E, D, C, B, A 传递。如果一个事件被触发,I 节点先接收到,如果在 I 节点中事件被吞没,则不会继续传递,未被吞没,事件将传递到 H 节点,每个节点都重复同样的逻辑,直到事件被吞没,或者传递结束,本次事件触发才完成。
人气软件
-
DNF连发设置生成工具 0.55 MB
/简体中文 -
新版魔兽争霸3修改器 0.28 MB
/简体中文 -
吃鸡百宝箱 38.8 MB
/简体中文 -
天龙八部天佛降世修改器 0.23 MB
/简体中文 -
SpoilerAL(日文游戏通用SSG修改工具) 2.66 MB
/简体中文 -
Tiled Map Editor(游戏地图编辑器) 12.2 MB
/简体中文 -
Epic Games Launcher(epic games启动器) 54.16 MB
/简体中文 -
温岭同城游戏大厅 13.7 MB
/简体中文 -
魔兽全图作弊器 0.16 MB
/简体中文 -
rpg maker mz中文 831 MB
/简体中文