2024年10月cocos2dx传奇源码(egret 和cocos2d-x-js哪个目前更稳定更好用)

 更新时间:2024-10-12

  ⑴cocosdx传奇源码(egret和cocosd-x-js哪个目前更稳定更好用

  ⑵egret和cocosd-x-js哪个目前更稳定更好用

  ⑶如果大型游戏,强烈建议不要使用cocosd-js我们目前的几个项目都是cocosd-js开发的,我打算把这几个项目转egret。有如下几个理由:、cocoside有BUG:断点会崩溃、代码提示很差、内存太高、虚拟机的菜单栏会影响事件(迭代了很多版本,这菜单栏BUG都没修复、studio的工作流在几个引擎中是最差的,而且有BUG。经常和实际表现不一致。而且内存占用大,会崩溃。不能继承(这个问题最严重,不能继承按钮,那么按下缩放等高级功能就很蛋疼。、架构太差。写点小功能没事,如果想写大型游戏,这套架构会让你抓狂!比如最简单的按钮事件,我必须在事件方法里面加个触摸类型判断。一个很简单的点击,就多出很多这种相似的代码!、UI有好几套,然而每一套都有BUG。UI的设计也是很糟糕的!同时也是崩溃的罪魁祸首。、引擎BUG问题,很多BUG会让你欲哭无泪,比如坐标会出现undefined。再比如热更新的BUG,XCODE编出的包默认是js而不是jsc,当这个包发布商店就会出现不能热更新的问题,同时也进不去游戏,卡在了热更新界面。(这个问题导致我们流失了个月的用户,知道苹果商店通过审核位置,再比如java/objectc和js的交互,这个都有问题!再比如:ios第三方输入法会导致崩溃!、工作流问题,IDE的断点的观察变量很不友好、studio导出的配置很大、studio扩展性很差。在IDE.版本出来之前,我们团队甚至无法断点,只能打印日志来debug。、工作效率问题,代码提示先不谈。我实现一个简单的列表都能折腾很久,那ui的list真是太不好用!除此之外,裁剪、遮罩这些只需要一行的代码,在cocos下面需要无数行!、引擎升级问题:cocos大概一个月个升级,egret是周。然而cocos升级会带来大量的新BUG,而且兼容性很差。导致我们现在还用.版本。最蛋疼的是,官方的.版本又不能断点了!.升级到.还会导致布局混乱、九宫失效、崩溃闪退(绝对不是代码问题这个解释了!基本上cocos每加个新功能都会带来无数新BUG,老BUG修复量也少,我论坛反馈的问题经常需要迭代到个版本才修复,下个版本修复兼职是不可能。而egret不仅迭代快,BUG修复也勤快!也很少有一些导致产品质量的验证BUG。、官方人员态度问题:我在cocos论坛发的BUG反馈,过了天才有人来回复。地址(从.到.和.的BUG,官方帮忙看下,再看下egret我发的BUG反馈,当时是下班时间,然而第二天一早就回复我了。地址(Egret社区-BUG列表、API问题:cocos经历了个大版本,官方API文档也有的API,实际尽然是没有的,官方回复是还没加入js绑定。、跨平台问题:cocosd-js经常是HTML和JSB表现不一致。导致我们现在只能专注JSB而放弃HTML版本。egret很少有这个问题。、性能问题:先抛开runtime。如果你用了ui,那么我%保证你的cocosd-js的性能会被egret秒杀。再来说下native下面的性能对比,cocos的人说egret是js写的逻辑,而他们是绑定。那么问题来了,在现在,js的逻辑产生的性能压力一点都不是问题(参考node.js,能用js写服务器了都。主要的性能压力其实是在渲染上面,而他们个都是opengl作为渲染的。如果用了ui,那么还是被egret秒杀。那ui带来的drawCall真是太!!再来谈runtime,egret现在很多浏览器都集成了runtime(可以opengl渲染代替canvas渲染,而cocos-js只是说在合作,已经慢了一步。、产品路线图问题:cocos的几个产品一心在弄D,egret都已经自己搞了一个IDE了。开发基本的生活cocos都没保障好,就去想和ud打架!、内部问题:cocos估计内部很不和谐,ide据说是个人在开发,studio是个人(个人整出这东西,而且studio是用的.搞的,跨平台最呵呵的技术!QT、AIR那些那么多高效率,扩展性强的技术不用,选了个.。。。。---------------------------------------------------------------------------------------------------------------------------------题外话:说了那么多cocos的不是,我也曾试着爱过它,我甚至开发了一个和egretwing一样的UI器,写了个和Flash/Flex一样的API(egret用的这套,这种架构很好用,简单明了。其中UI器还加上了unityd那种绑定脚本的功能。然而因为cocos底层的一些令人发狂的BUG,我最终是放弃了。有egret这个车子在,我还造什么轮子?我打算把手里头的这套cocos的东西开源。然后去整egret去!---------------------------------------------------------------------------------------------------------------------------------再来个题外话:游戏引擎cocosd-js和egret对比这个是百度搜索第一的对比,里面说cocosd的工具比egret多,我不否认,但是能用的基本没有。而egret的工具很稳定。就拿最简单的骨骼动画,cocos连龙骨都不支持,studio里面的骨骼设计也是坑的不行,egret的骨骼设计工具从界面和实用性都已经完爆studio了!再来说上面的地址里面的成功产品:捕鱼达人、DOTA传奇、我叫MT那都是cocosdx写的,和js版本一点关系都没有!请问你有见过网页版的刀塔传奇么?上面的开发语言对比,大项目来说,ts真的是完爆js!js那不小心就会出错真心不适合大项目,不然微软不会造这个轮子。上面的参考资料对比,cocosd-js的文档连参数的注释都没,和c++文档作参考也不行,很多参数是不一致的!而egret在开发工具里面就继承了中文的帮助。从目前状况看,今年绝对是egret产品井喷的一年,不信走着瞧!cocos真是把我坑惨了!---------------------------------------------------------------------------------------------------------------------------------再次申明,请拿cocosd-js或者JSB的大作出来,不用拿dx的东西。说到dx,你们再去了解下,榜单上,有几个人是没改过引擎源码的,有几个游戏能随着cocos引擎升级而升级。用studio的又有几个。并不想和王哲斯逼,只是希望你们能正视BUG,提高体验。如果好,我们团队会考虑cocos技术的,否则只能用egret和unityd了。我说cocos这么多不是,也是希望他成长,能给开发者带来更多利益,带来更多方便,而不是各种无厘头的问题,各种蹩脚的手段去开发。还有,我说的这几点,王哲你接招,如果我不说出这些BUG,这些问题,那么估计还不一定改。egret同样有个人叫王泽,然而他的理念完全当我们开发者是用户,提高开发体验,这个很重要的。

  ⑷cocosdx怎么导入一个源代码

  ⑸您好,跟新建项目的时候差不多,只不过是点击右键后,选择添加现有项目,而不是新建项目。或者是少了个proj.win文件夹,添加项目时,进入到这个文件夹,选择.vcxproj格式的文件就行。

  ⑹哪里有DemoLogin登录界面cocosdx手机游戏源码

  ⑺一个登陆界面由背景图层和一些文本标签、输入框、按钮等组成。一般是按照从下到上的顺序创建控件。

  ⑻第一步是给根节点设置贴图,首先是选在对象结构中选中根节点,并打开属性面板,然后在资源面板中找到Register.png,并拖拽到属性面板中的文件属性框内player./code--.html。

  ⑼cocosdx源码怎么导入vscsdn

  ⑽新建一个cocosd工程目录,将recources也就是素材库复制至工程目录,在VC里删掉新建项目Classes分类下的所有文件,然后右击Classes分类,添加现有项,找到下载的源码classes,导入所有。

  ⑾cocosdx.事件机制

  ⑿cocosdx的事件机制里存在三类:Event、EventListener、EventDispatcher先理解一下它们之间的关系当我们按下按钮时(Event,会触发一个特定的事件(EventListener相当于回调函数,而这个特定的事件又存储在EventDispatcher里,可能按下这个按钮会触发多个事件,而事件的先后就是靠EventDispatcher来决定的。

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

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

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

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

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

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

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

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

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

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

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

  ⒋引用:Cocosdx游戏引擎(.x)----新的事件分发机制cocosdx之event事件(一)cocosdx之event事件(三):事件分发器EventDispatcherCocosdx-v.事件分发机制源码解析

  ⒌win用vs打开cocosdx源码,一大片提示错误,都是namespace“cocosd::std“没有xxx这种

  ⒍可能程序不兼容,可以更换个版本试试。另外建议参考下程序对配置的要求。或者右键需要运行的程序选择兼容性用兼容模式运行试试。

  ⒎Cocosdx网上下载的源码如何导入到vs

  ⒏你是不是少了个proj.win文件夹添加项目时进入到这个文件夹选择.vcxproj格式的文件就行查看原帖》》满意请采纳。

  ⒐cocosdx.x版本中导入tiled地图如何导入对象层中对象的自定义信息(源码+注释)

  ⒑步骤如下:.cocosd-x中使用类TMXTiledMap创建瓦片地图.使用TMXTiledMap中的getObjectGroup接口取得对象层.使用对象层的getObject接口获取对象信息,对象信息是一个ValueMap实例.从ValueMap中取出数据测试地图如下所示:

  ⒒如图所示:.有一个名为object的对象层.object对象层中有一个名为test的对象.test对象有一个名为attr的属性代码以及注释如下所示:

  ⒓cocosdx.x版本中导入tiled地图如何导入对象层中对象的自定义信息(源码+注释)

  ⒔步骤如下:.cocosd-x中使用类TMXTiledMap创建瓦片地图.使用TMXTiledMap中的getObjectGroup接口取得对象层.使用对象层的getObject接口获取对象信息,对象信息是一个ValueMap实例.从ValueMap中取出数据测试地图如下所示:

  ⒕如图所示:.有一个名为object的对象层.object对象层中有一个名为test的对象.test对象有一个名为attr的属性代码以及注释如下所示:

  ⒖win用vs打开cocosdx源码,一大片提示错误,都是namespace“cocosd::std“没有xxx这种

  ⒗可能程序不兼容,可以更换个版本试试。另外建议参考下程序对配置的要求。或者右键需要运行的程序选择兼容性用兼容模式运行试试。

您可能感兴趣的文章:

相关文章