DanmakuFlameMaster
DanmakuFlameMaster copied to clipboard
在不过滤且设置固定的行数(2行或者3行)的情况下,怎么实现让弹幕之间都不碰撞,即在屏幕上弹幕不重叠。
我想实现,弹幕固定最大显示3行,手机打得所有弹幕都不过滤,都在屏幕上显示出来,且弹幕不会重叠。既我 同时 发4条弹幕 ,先绘制3条弹幕在屏幕上显示3行,等3行中有一行要绘制的弹幕绘制完了,这行再去绘制第四条弹?
没提供很好的方法。 addDanmaku之前调整time,错开。
这样,同时发送弹幕很多的话,要累加计算好多时间。好的谢谢了哈,我试一试。
请问你这个问题解决了吗,我也遇到这个问题了
如果可以过滤的话,就不会重叠,我是在可以过滤的前提下,把过滤漏掉的又加进去重新绘制弹幕。这样不断的循环加。
@a1506766443 具体步骤是怎么样呢,我也需要做到跟你一样的效果,不丢失数据,且不能重叠,怎么判断哪个数据是被漏掉的呢?
大家实现了吗,我也需要
怎么去判断当前还不能去添加弹幕已达到防止弹幕重叠的效果 我也没找到相应的接口
不好意思,刚看到,之前修改时写的,再遇见此问题的可以参考下: 修改源码: 110:C:\Users\Administrator\Desktop\Danmaku\src\master\flame\danmaku\danmaku\model\BaseDanmaku.java 在BaseDanmaku中加一个属性字段:-----通过判断该字段判断是否被过滤 public boolean canDraw = false; 111: //当被过滤掉时drawItem.isFiltered()==ture 会执行此方法-----我们修改改item的变量为true if (drawItem.time < startRenderTime || (drawItem.priority == 0 && drawItem.isFiltered())) { Log.d("zssf", "RenderingState draw text : " + drawItem.text); if (!drawItem.canDraw) { drawItem.canDraw = true; } continue; }
112:C:\Users\Administrator\Desktop\Danmaku\src\master\flame\danmaku\controller\DrawTask.java
113.C:\Users\Administrator\Desktop\Danmaku\src\master\flame\danmaku\danmaku\model\android\Danmakus.java 接口位置:C:\Users\Administrator\Desktop\Danmaku\src\master\flame\danmaku\danmaku\model\IDanmakus.java public interface IDanmakus {} Danmakus中添加adjustItems方法 ----对应的接口中也要注册该方法 ----- public void adjustItems(Context mContext);
public void adjustItems(Context mContext) {
Collection<BaseDanmaku> tmps = new ArrayList<BaseDanmaku>();
for (BaseDanmaku danmaku : items) {
if (danmaku.canDraw) {
Intent intent = new Intent("com.danmaku.add");
intent.putExtra("text", danmaku.text);
intent.putExtra("textColor", danmaku.textColor);
mContext.sendBroadcast(intent);
Log.e("zssf", "text: " + danmaku.text + ", time: " + danmaku.time + ", id: " + danmaku);
} else {
tmps.add(danmaku);
}
}
items.clear();
items.addAll(tmps);
mSize = items.size();
tmps.clear();
tmps = null;
}
115: 修改了弹幕停顿
116:C:\Users\Administrator\Desktop\Danmaku\src\master\flame\danmaku\controller\DrawTask.java
AndriodDisplayer中drawDanmaku里的对应方法中修改
有几张图片,好像贴不出来。就这样吧
大佬们,我么现在也是这个需求,求指教
大家实现了吗,我也需要
您最后实现这个弹幕了吗?求指教,谢谢拉,方便的话加一下微信可以吗gyt869144152
蛋疼,这个库 真他么不友好啊