![e73ff42454548805614b51ec93bcf2d8.png](https://i-blog.csdnimg.cn/blog_migrate/ae33427e908e813263ae8cb9ade81a0e.jpeg)
一、H5游戏开发的引擎介绍 开发H5游戏的引擎有很多,比如egret、laya、cocos-js等等。可以推荐主流的egret,或者一个基于http://Phaser.io做了定制的青瓷引擎。英文不错的话,推荐http://Phaser.io,Github上目测最高关注度。GameMei吧,它是、一款在线可视化HTML5游戏开发制作平台,通过上传几张图片即可做成一款跨平台游戏,降低游戏开发门槛,简化游戏开发流程。但是在这里我们将详细的分析一下egret和Cocos。 在介绍这篇文章之前,先给大家介绍一下,我是一名5年Java开发的程序员现在辞职在家,在此我跟大家说一下,我从今年开始就一直在做一个Java学习的分享,包括了Java视频(案例化+系统化),学习笔记,开发工具,名企面试题等资料,每天更新!送给学习Java的每一个小伙伴。领取方法:点击我的头像关注我的头条号,关注后右上角私信发我“Java” 就可以马上加入我们了! 二:egret和Cocos之间的概念以及区别 Egret:Egret是一套完整的HTML5游戏开发解决方案。Egret中包含多个工具以及项目。Egret Engine是一个基于TypeScript语言开发的HTML5游戏引擎,该项目在BSD许可证下发布。使用Egret Engine开发的游戏可发布为HTML5版本,运行于浏览器之中。同时,也可以发布为 iOS、 Android和WindowsPhone原生程序。 Cocos:支持C++,Lua和JavaScript三种开发语言,运行效率高,成熟可靠,一次游戏开发可跨平台部署在网页和主流的移动平台。Cocos易学易用,性能卓越,是html5游戏开发,Android游戏开发工具的首选,为开发者提供了全套的游戏开发解决方案。 二、选择引擎的思路 关于egret和Cocos谁比较好,比较适合。各自的评判的标准都不一样。反正他们都各自说得自己很好,加上本身没有实际用过,所以选择起来看也很为难。 所以这里也只是提出我自己的观点。只是根据具体的项目、团队等情况来做个选择。再者他们官方都有提倡或者标签自己如何高效如何好用,性能怎样怎样。但是没实际踩过那些坑,还真不好评判。 可能有些程序员用过egret,用了一段时间不习惯又用回cocos2d-js了,最大的原因是cocos2d-x可以通过jsb实现native版本,而egret只能靠他家的runtime。虽然jsb的native版本有许多坑,但是小修小补就可以用的很流畅,还可以出windows版,mac版。配合webstorm也很快,更重要的是直接用js而不是ts,还可以用babel来个es6,比ts用着要爽。所以我的建议是如果没有native的需求,只是做html5的游戏,以前没有用过cocos2d-x的话就直接上egret。如果用过cocos2d-x,还是建议用cocos2d-x js。 三:相对大型游戏来说,egret比Cocos的优势在哪里 1.cocos ide有BUG:断点会崩溃、代码提示很差、内存太高、虚拟机的菜单栏会影响事件 2.cocos架构太差。写点小功能没事,如果想写大型游戏,这套架构会让你抓狂 3.引擎升级问题:cocos大概一个月1个升级,egret是2周。然而cocos升级会带来大量的新BUG,而且兼容性很差。 4.官方人员态度问题:我在cocos论坛发的BUG反馈,过了7天才有人来回复。再看下egret我发的BUG反馈,当时是下班时间,然而第二天一早就回复我了。 5.跨平台问题:cocos2d-js经常是HTML5和JSB表现不一致。 6.性能问题:先抛开runtime。如果你用了ccui,那么我100%保证你的cocos2d-js的性能会被egret秒杀。 7.产品路线图问题:cocos的几个产品一心在弄3D,egret都已经自己搞了一个IDE了。 四.最终选择 说真的,cocos当时也是觉得非常好,经过网上相关资料搜寻比较和仔细考虑,最终选择了egret。只能根据搜索一些信息来综合评价,Egret和Cocos都是非常好的引擎,各有优点,选谁就看团队的技术基因和积累和项目特点,最后,现在撕逼无益,大家还是好好做产品吧