New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
barrage text appear overlapping #3
Comments
默认是会重叠的,今天我会发布一个新的版本,包括增加一个海量模式的开关,关闭的时候弹幕不会重叠,弹幕数量过多没法显示的时候会丢失弹幕。 |
如果开启了海量模式,但是弹幕数量很少的情况下,还会出现重叠现象吗? |
理论上应该不会。 |
那挺好的,我晚上试试看 |
还是有一点小问题。我send(Text(color: colors.white)); 发送的弹幕是一个白色的文本,可是弹幕发射出来,有的是白色,有的是黑色额 |
能截图看一下吗? |
barrageWallController.send([ |
稍等一下,我截图看看看 |
我创建了一个 gitter.im,你可以在项目首页找到 badge,方便的话在那里说吧,还有些问题需要确认下。 |
没有找到啊 |
弹幕刚开始会出现黑色字体,发射一会后,就没有黑色字体了 |
昨天的版本没有这个问题,要不你对比一下改动代码看看 |
massiveMode 不论设置为 true 还是 false ,弹幕依然还是会覆盖啊。 解决办法: |
@Wing-Li 原理就是通过 maxBulletHeight 来计算出可用的 channel。最近使用者不少,之后我再完善下文档,详细说明下。 |
挺棒的,感觉 Flutter 库里能找到的弹幕插件,就只有你这个可以用。其余的或多或少都不完善。 |
@Wing-Li 感谢分享和 star。 |
我设置了maxBulletHeight依然会重叠啊 |
@343863527 你可以在 examples 下面加个复现的例子吗?或者单独做个复现的库,我上去看下。 |
其实问题出现在showTime 这个方法上,因为用的是随机数,所以只要随机数多了,就容易出现重复的数字就会导致重复, /// 用于记录已经存在的数据
List<int> resultList = [];
final _random = Random();
int next2(int min, int max) {
/// 如果不存在当前的实际则直接返回,并添加防止下回随到
if (!resultList.contains(min + _random.nextInt(max - min))) {
resultList.add(min + _random.nextInt(max - min));
return min + _random.nextInt(max - min);
} else {
/// 稍微调整随机数,使得更随机
return min +
_random.nextInt(
(max + _random.nextInt(min)) - (min - _random.nextInt(min)));
}
} next2(1, 100000) 代替 random.nextInt(60000) |
你说的 showTime 方法是指哪个?
|
final showTime = random.nextInt(60 * 60 * 1000);
return Bullet(
showTime: showTime,
// child: Text('$i-$showTime'),
child: IgnorePointer(child: Text('$i-$showTime')),
); Bullet下的这个showTime,随机数随出来的时间一样的情况下,弹幕就会出现堆叠的情况 |
这是示例中的代码,这个 |
这样子,然而,我有个项目客户要求有弹幕,但是后台给我返回的就一个字符串列表,所以我这里只能用随机数 |
是在视频或音频上的话用该视频或音频当前播放的时间戳就行了。 |
我们是在一张图片上方显示的,没有视频和音频那些 (✘_✘) |
哦,明白了,那这是个产品设计问题了。。。试试海量模式?让它随机显示就可以了。 |
barrage text appear overlapping
弹幕里的文字会重叠
The text was updated successfully, but these errors were encountered: