jekeyhui99 发表于 2016-7-14 11:57:45

AS开发者转egret一周心得

前言先介绍下背景:本人是一名6年的ASer,具有web游戏,AIR(starling)手机游戏,AIR手机APP的项目经验一直在关注egret和laya等H5引擎的发展,最近不知道哪根筋不对,突然想用H5做点什么,gogogo先说说为什么选择egret
1.ASer慕7yue的名,值得信赖
2.觉得从AS3代码转到H5,毕竟不如重新写
3.之前做手游的时候,人物动作、光效动画等一直使用龙骨,某个时刻起龙骨居然直接纳入到了egret产品线中,果断对egret刮目相看所以,所以就选择了egret
本帖隐藏的内容初步接触麻利的下载了egret引擎的核心,然后在引擎里面把egret所有的产品都下了个遍(本人思想比较保守,稳定为上,所以都是安装的稳定版,非社区体验版)下完产品,用wing新建了game demo和eui demo,各自跑了一遍,然后就蒙B了,不知道代码从哪下手,决定先看文档:【首页概览产品更新详解Egret EngineEgret Engine 3DEUI 库Egret 扩展库DragonBones开发工具高手进阶开放平台】花1天2晚把所有的条目都看一遍。其中看的时候,有粗有细,保证日后遇到问题的时候,知道在哪里找解决方案。这里特别感谢写这些文档的官方人员,写的很不错。同时特提醒那些像我一样新学egret的朋友,一定要先花时间耐心看完文档,新学的过程中遇到的大部分问题,在文档中都有介绍到。IDE选择看完文档后,心理底气足了不少,期间也逛了不少论坛,看了很多帖子。接下来就是选择IDE。
官方介绍是有3种IDE可选的:VS插件、wing、webstorm, 论坛里面大家评论也是各有千秋,最后请教朋友【D5】,参考他们公司的使用情况,加上我自己的想法,最终敲定wing:
1.习惯使用eclipse风格的人,难以习惯VS风格,再加上VS安装包超大,嫌麻烦所以不选VS插件
2.webstorm毕竟不如wing的官方支持的好,而且wing能做UI
但是wing有不少坑,以下是使用心得:
1.wing启动、关闭超快,不像FB那样需要等一会
2.wing bug很多,官方也在不断完善中,一天下来,重启个5-6次很正常
3.wing配合eui做自适应超级爽,注意是超级,但是eui的state不好用,在wing里面编辑eui的state各种垮,后面详细介绍
4.用惯了FB的人,很快能适应wing,但是没有F2、新建默认无焦点、属性编辑默认选中、代码(),””自动补齐等方面有待改善性能测试身为一个主程,首要考虑的是稳定和性能,稳定暂时无法确认,只有先从性能入手。
其实在选择egret的时候,已经在egret的平台里面看了一下排名靠前的游戏,从涉及到的游戏类型来看,erget-web版目前只适合中小型游戏(基于战斗和场景规模,纯属个人观点),战斗最复杂的算是dota传奇模式的5V5,我估摸着这也是egret-web版渲染的极限了。
有鉴于此,从以前air项目中拿出龙骨资源,用DragonBonesPro把以前的资源顺利的导出为egret支持的格式
码上几行代码,测试了fast模式的龙骨在手机web上的性能,测试涉及到pc-chrome,iphone4S, iphone5, iphone6S,发现在iphone4S的Safari中,场景同时放10个完全不同的龙骨动画时,fps可以有20左右,(测试详细结果也许另起文章,这里不赘述,同时也印证上面说到的目前游戏类型只能是中小型。以后产品选型都会基于这个分析结果。外包经历也是巧,刚做完性能测试,看到群里有个朋友问有没人接外包做,我想着正好找个外包练练手,熟悉一下工作流。
就跟这个发包朋友接洽上了,出于不坑人的前提,谈的时候,我跟这个朋友明确了我现在的H5新手状况,可以把我作为第二考虑,把产品需求发给我就行,需求是个画心的小游戏。虽然是替补,但是鄙人三天后给出demo,1周后顺利交付,细节不赘述,不涉及到微信分享的交货地址:http://2.hearter.sinaapp.com/。eui小游戏的几个页面中,有单页面、需要滑动的长条页面,通过使用egret自带的布局+eui+wing,做到实时预览页面效果,可视化编辑页面的布局策略,在chrome中预览一下各个设备的运行情况,简直是完美,HI翻天
顺便说一下为什么使用eui而不是gui,gui我没有使用过,但是一直在群和论坛里面有了解,gui引入了flex的优缺点,诟病较多,而eui作为gui的改良版,自然作为首选。然而eui还是有不少问题:
1.从设计上说,eui感觉很混乱,引入了starlingswf的机制,却称为皮肤,感觉怪怪的
2.eui的state个人觉得不好用,有点鸡肋,在wing中编辑eui的state时,bug层出,有几次甚至导致页面混乱,源码丢失-_-#。当切换的state中包含按钮等需要添加监听的组件时,容易引起内存泄露,而且,每次切换都需要重新添加事件监听,维护成本很高
3.eui的创建成功的Event.complete与UIEvent.creation_complete经常把人搞混乱,总结起来就是使用thm.json文件加载的eui监听creation_complete事件,否则监听complete事件
but,but, but, eui流弊的布局和易用这种优点,完全遮盖了缺点,好用才是硬道理其他的:1.使用ResDepot进行资源管理,挺好用
2.使用TortoiseSVN基于windows进行svn代码管理
3.自带的粒子编辑器功能有点单一,扩充一下粒子模式就好了
4.前天跑了一下egret3D的sample,振奋人心,虽然自己从max导模型解析失败,但是不妨碍egret3d做一些简单的3D产品,实现了从无到有的跨越,感觉前景棒棒哒
5.egret官方群对大家关于产品BUG的反馈还是很及时的,很友好,赞一个。
页: [1]
查看完整版本: AS开发者转egret一周心得