BarrageRenderer
BarrageRenderer copied to clipboard
关于delay 与加载顺序
hi, 我有这堆东西需要显示出来 [1,2,3,4,5,6,7,8....] 我设置tracknum = 3 预期效果如下: 1 4 7 2 5 8 3 6
实际效果 乱了
请问能控制显示的顺序吗?
我已根据文字长度来增加相应的delay,如果按照预期效果的顺序显示,是可以避免重叠的,但是现在加载的顺序似乎是随机的?
thx.
BarrageRenderer 的版本号? 创建 descriptor 部分的代码贴过来看看。
版本 2.1.0
- (BarrageRenderer *)danmu{
if (!_danmu) {
_danmu = [[BarrageRenderer alloc] init];
_danmu.canvasMargin = UIEdgeInsetsMake(10, 0, SCREEN_WIDTH-(60+3*30), 0);
}
return _danmu;
}
- (BarrageDescriptor *)walkCommentSpriteDescriptorWithDelay:(NSTimeInterval)delay comment:(XXXComment *)comment
{
BarrageDescriptor * descriptor = [[BarrageDescriptor alloc]init];
descriptor.spriteName = @"XXXBarrageSprite";
descriptor.params[@"trackNumber"] = @(3);
descriptor.params[@"text"] = STRING_OR_EMPTY(comment.content);
descriptor.params[@"fontSize"] = @16;
descriptor.params[@"textColor"] = [UIColor whiteColor];
descriptor.params[@"speed"] = @(100);
descriptor.params[@"direction"] = @(1);
descriptor.params[@"delay"] = @(delay);
return descriptor;
}
如有不当请指出,thx
delay 不是在屏幕上停留的时间,而是延时上屏的时间。 如果你是即时上屏,不用添加 delay 参数。
我知道啊,我为了不重叠,延迟了下一条进入的时间。 但是现在没有按 1 4 7 2 5 8 3 6 这种顺序
弹幕 1, delay=3 -----1s 钟后---- 弹幕 2, delay = 1(小于上一条弹幕的delay时间)
会出现上述情况么
会的
delay 打乱了弹幕顺序。