使用Laya开发3D微信小游戏的一些总结1

        hi各位,好久不见。近一段时间楼主正好在使用Laya移植之前的老项目到微信小游戏,由于是3D项目,本身有一些难度,在引擎方面也是选择了Laya,它现阶段是比Cocos和白鹭在对3D方面支持全面一些,但是他们对待开发者的态度实在是,以后再发一篇吐槽的,我们先来总结。

  1. 在IDE中制作UI动画并在代码中调用

    陈旧的官方文档中只以【.ani文件为例】讲述了动画的使用,但是对于ui文件,我们不需要做单独的动画文件,并且一般来讲都需要反复调用和控制,所以当完成动画的制作后,定义好动画名称,就可以在该ui文件的逻辑类里直接调用了。

  2. 微信开发者工具警告声音重载的问题

    官方文档直接教授使用SoundManager进行声音播放,但是只要你在微信开发者工具调试就会发现有文件重复加载的警告,官方社区竟然还有人说不用管,可就是有音效被吞掉的情况发生。改法是使用通用的Audio类,Audio相关方法在Laya和微信环境都不会报错。

  3.  移植Unity带有物理效果和碰撞器的游戏

    这个坑了我们非常久,问题主要在于1版本引擎的初始化会由第三个参数默认将抗锯齿打开,但2版本的引擎示例是没有第三个参数的。如果你不跑带有物理引擎效果的demo还好,但如果你直接从1版本过来还想跑物理,就会被这个问题折腾的死去活来,反复检查是不是自己文件有问题。目前不明白为什么抗锯齿会和物理冲突,但解决方就是初始化引擎时不填第三个参数或设置为false。

  4. UI界面的内存管理

    这个是由于刚接触Laya引擎一段时间后发现的,可以将战斗内外,标题和不常用的ui界面图集分开,这样同时占用的内存就会小很多。

  5. 打包时的一些问题

    · 使用ts语言开发时,打包一定要勾选【js文件混淆】,一是减少编译后的代码文件体积,而是避免js.map文件的报错

    · 开发开放数据域项目时,不建议使用Cocos的分包加载策略,而是使用在game.json配置的方式,减少包体大小;另外开放域使用的资源不可打包成图集,按调用路径复制好即可


评论

©乌禅的瓮 / Powered by LOFTER