DanmakuFlameMaster
DanmakuFlameMaster copied to clipboard
弹幕设置了不允许重叠,但是不管用呢?还是出现重叠
弹幕设置了不允许重叠,但是不管用呢?还是出现重叠 // 设置是否禁止重叠 HashMap<Integer, Boolean> overlappingEnablePair = new HashMap<Integer, Boolean>(); overlappingEnablePair.put(BaseDanmaku.TYPE_SCROLL_RL, true); overlappingEnablePair.put(BaseDanmaku.TYPE_FIX_TOP, true);
在BaseCacheStuffer.Proxy 的prepareDrawing方法中对弹幕进行异步处理,完成后修改danmaku.measureResetFlag的值,然后invalidateDanmaku(danmaku, true);
在DanmakuRetainer里边,进行碰撞检测时,这条弹幕因为danmaku.measureResetFlag与 flags.MEASURE_RESET_FLAG不一致导致导致碰撞检测失败,造成弹幕追尾。
设置标志位
DanmakuRetainer 碰撞检测
DanmakuUtils碰撞检测具体逻辑
R2LDanmaku具体实现
需要判断标志位,此时不一致也即判断碰撞失败
可以把源码中getRectAtTime方法中的!isMeasure()替换为!( paintWidth > -1 && paintHeight > -1)
@ @paul1992li 按照你说的方法修改了源码后,弹幕还是会追尾,而且设置 danmaku.priority = 1;后,最大行数失效了。。
这个有解决方案吗?
邮件已收到.
这个有解决方案吗?