Unity3d和Cocos2dx有什么区别?

发布时间:2025-02-19 08:45:52 来源:君肯网

一、区别:

1、COCOS2D开源,有文档支持,论坛资料庞杂博大;UNITY3D闭源,有强大的文档支持,论坛资料一样的庞杂博大。

2、COCOS2D免费;UNITY3D收费。

3、COCOS2D的跨平台,需要大量重写代码;UNITY3D的跨平台,程序员只需要选选按钮就淡定许多的搞定了。

一、拓展:

1、不同:

(1)COCOS2D拥有令人发指的可定制性;UNITY3D有一个专门为订制而写的类库。

2、相同:

(1)UNITY3D和COCOS2D-X都是跨平台的游戏开发引擎。

cocos2dx的3d 怎么获取cc对象

cocos2dx的事件机制里存在三类: Event、EventListener、EventDispatcher

先理解一下它们之间的关系

当我们按下按钮时(Event),会触发一个特定的事件(EventListener相当于回调函数),而这个特定的事件又存储在EventDispatcher里,可能按下这个按钮会触发多个事件,而事件的先后就是靠EventDispatcher来决定的。

Event的相关类

当出现来自鼠标,键盘,触屏,摇杆等输入源的输入时,这个事实称之为事件

引擎无时无刻都在感受事件。

Event

可以看出Event主要包含三个变量,一个是事件类型_type(也就是定义的枚举类型:触摸、键盘等),isStopped判断事件是否停止,只要事件停止,其相关的Listener都要停止callback调用。

EventTouch

它对应于四种触摸操作,不同的EventCode可以告诉Listener来调用不同的callback。

EventCustom

它是用户自定义事件,userData记录用户自定义数据,另一个eventName是用户给事件取的别名

上面的源码都有英文注释,我就不多解释了,我只说一个最重要的_isRegistered,它判断事件有没有被注册,如果没有被注册就不会触发。(如何注册事件?将事件加入dispatcher)

在讲它之前,我们先了解一下它的一个重要变量。

Unity3d和Cocos2dx有什么区别?

sceneGraphListeners: 一个事件(比如说触摸事件),需要按照一定的响应序列,依次对这些Node进行事件响应,所以该类型的事件都会绑定一个与此相关联的node,并且 响应顺序是与node在scene下的zorder相关的 。该类型下的事件优先级统一为0。(与渲染树有关)

fixedListeners: 优先级根据 fixedPriority 的数值从小往大排序、

只要出现了删除,修改,添加监听器的时候,监听器列表需要重新排序,都需要设置相应的 DirtyFlag 操作。但是 Cocos-2dx v3.10 里面的 updateListeners 函数有删除监听器的操作,然而并没有设置相应的 DirtyFlag 操作。

会抛出下面的异常

Gt0Index() 方法其实就是获取到当前监听器中 fixedPriority == 0 的监听器在监听器向量中的位置,它 只有在给 Listener 排序的时候会设置,但是如果更新了对应 ListenerID 的向量(EventListenerVector),但是没有重新排序,就会出现 _gt0Index 未及时更新的情况 ,导致抛出这个异常。

引用:

Cocos2dx游戏引擎(3.x)—-新的事件分发机制

cocos2dx之event事件(一)

cocos2dx之event事件(三):事件分发器EventDispatcher

Cocos2dx-v3.10 事件分发机制源码解析

cocos2dx的3d获取cc对象:通过对导演、场景、层和节点的剖析,现在我们已经可以写出一个完整的游戏体系了。

获取精灵的方法可以考虑将你的所有精灵加入到一个单例层里作为精灵管理层,加进去的时候定义好TAG值,方便随时随地可根据TAG值取到想要的精灵。

触摸坐标否在精灵上第一个思路是先获取你的sprite的boundingBox,和你触摸点坐标,判断触摸点坐标是否包含于sprite的区域内。

主要功能:

图形渲染:包括2D图片、文字、序列帧动画、骨骼动画、粒子、特效等渲染,在v3.3版本开始加入简单的3D模型渲染和3D动画。

音频功能:支持游戏内的音效和背景音乐播放控制。

资源管理:图片、音频和脚本资源的加载、缓存及释放。

物理模块:通过集成 2D 物理引擎 Box2D 和 Chipmunk、3D物理引擎 Bullet 以支持游戏的物理特性。

场景管理:通过场景、层、精灵三层主要结构,对游戏的场景树进行创建和销毁管理。

以上就是关于Unity3d和Cocos2dx有什么区别?全部的内容,如果了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

更多相关资讯

一、区别: 1、COCOS2D开源,有文档支持,论坛资料庞杂博大;UNITY3D闭源,有强大的文档支持,论坛资料一样的庞杂博大。 2、COC…
查看详情
一、区别: 1、COCOS2D开源,有文档支持,论坛资料庞杂博大;UNITY3D闭源,有强大的文档支持,论坛资料一样的庞杂博大。 2、COC…
查看详情
一、区别: 1、COCOS2D开源,有文档支持,论坛资料庞杂博大;UNITY3D闭源,有强大的文档支持,论坛资料一样的庞杂博大。 2、COC…
查看详情
相关文章
推荐游戏
风之谷
风之谷
游戏资讯 10.5M
下载
斗罗大陆3
斗罗大陆3
游戏资讯 566.9M
下载
冠军网球
冠军网球
游戏资讯 148.1M
下载
最佳炮手
最佳炮手
游戏资讯 68.1M
下载
如梦下弦月
如梦下弦月
游戏资讯 840.1M
下载
富甲封神传
富甲封神传
游戏资讯 263.0M
下载