因为我问的问题都是无解的,为了不让其他人浪费时间问同样的问题,我就记录一下目前引擎的未解/无解问题吧。
时不时心血来潮了会更新一下。
1、【未解】【2019-8-22】Spine骨骼动画可以和自身相同动画节点合并drawcall,但是不能和其它的渲染组件合并,即使用的是同一张纹理。
2、【未解】【2019-8-22】一个粒子系统就是一个drawcall,既无法和自身相同粒子系统节点合并也无法和其它渲染组件合并,即使用的是同一张纹理。
3、【未解】【2019-8-22】微信/百度小游戏不支持动态合图,因为adapter里面将cc.macro.CLEANUP_IMAGE_CACHE = true,官方的解释如下:
4、【未解】【2019-8-22】动态合图的管理方式让人有点费解,动态创建新的cc.Sprite时cc.dynamicAtlasManager会自动帮你把spriteFrame加到它“当前操作的合图中”,如果“当前操作的合图中”中没有该spriteFrame就加上去,问题是缓存合图操作过的spriteFrame不是交给cc.dynamicAtlasManager管理的,导致每张动态纹理都有可能出现重复的图片。个人觉得很浪费,也许有官方有自己的考虑吧,我已经自己重新定制了。
5、【无解】【2019-8-22】华为快游戏不支持WebView组件(iframe)。因为华为Runtime不支持。
6、【未解】【2019-8-22】触摸事件里有一个swallowTouches的字段,但是创建事件时被写死为true,其它地方没法设置,意味着节点一旦有触摸事件其下层节点永远无法被触摸,或者触摸事件被打断,这对一些情境来说很不友好。举个例子:一些塔防游戏中,长按某空白处需要持续开炮,松开停止开炮,假设此时长按地图某个点开始持续开炮,这时有个敌人刚好移动到了这个点,而这个敌人身上是有触摸事件的,那这个敌人就会打断触摸事件,这时再松开手指,开炮也不会停止,因为永远收不到TouchEnd消息,敌人swallowTouches(吞并了所有触摸事件)。两个嵌套的Scrollview无法同时滑动除了_stopPropagationIfTargetIsMe另外就是这个swallowTouches的问题了。

