DanmakuFlameMaster icon indicating copy to clipboard operation
DanmakuFlameMaster copied to clipboard

弹幕设置了不允许重叠,但是不管用呢?还是出现重叠

Open yanchunlan opened this issue 6 years ago • 6 comments

弹幕设置了不允许重叠,但是不管用呢?还是出现重叠 // 设置是否禁止重叠 HashMap<Integer, Boolean> overlappingEnablePair = new HashMap<Integer, Boolean>(); overlappingEnablePair.put(BaseDanmaku.TYPE_SCROLL_RL, true); overlappingEnablePair.put(BaseDanmaku.TYPE_FIX_TOP, true);

yanchunlan avatar Sep 11 '17 06:09 yanchunlan

在BaseCacheStuffer.Proxy 的prepareDrawing方法中对弹幕进行异步处理,完成后修改danmaku.measureResetFlag的值,然后invalidateDanmaku(danmaku, true); 在DanmakuRetainer里边,进行碰撞检测时,这条弹幕因为danmaku.measureResetFlag与 flags.MEASURE_RESET_FLAG不一致导致导致碰撞检测失败,造成弹幕追尾。 设置标志位 1 DanmakuRetainer 碰撞检测 2 1 DanmakuUtils碰撞检测具体逻辑 2 R2LDanmaku具体实现 3 需要判断标志位,此时不一致也即判断碰撞失败 4

paul1992li avatar Nov 06 '17 05:11 paul1992li

可以把源码中getRectAtTime方法中的!isMeasure()替换为!( paintWidth > -1 && paintHeight > -1)

paul1992li avatar Nov 06 '17 05:11 paul1992li

@ @paul1992li 按照你说的方法修改了源码后,弹幕还是会追尾,而且设置 danmaku.priority = 1;后,最大行数失效了。。

lfh1991 avatar Apr 12 '18 01:04 lfh1991

这个有解决方案吗?

wanggq654321 avatar Apr 07 '22 07:04 wanggq654321

邮件已收到.

BearTiny avatar Apr 07 '22 07:04 BearTiny

这个有解决方案吗?

wanggq654321 avatar Apr 07 '22 07:04 wanggq654321