BarrageRenderer icon indicating copy to clipboard operation
BarrageRenderer copied to clipboard

关于delay 与加载顺序

Open czwen opened this issue 8 years ago • 7 comments

hi, 我有这堆东西需要显示出来 [1,2,3,4,5,6,7,8....] 我设置tracknum = 3 预期效果如下: 1 4 7 2 5 8 3 6

实际效果 乱了

请问能控制显示的顺序吗?

我已根据文字长度来增加相应的delay,如果按照预期效果的顺序显示,是可以避免重叠的,但是现在加载的顺序似乎是随机的?

thx.

czwen avatar Jul 26 '17 17:07 czwen

BarrageRenderer 的版本号? 创建 descriptor 部分的代码贴过来看看。

unash avatar Jul 27 '17 01:07 unash

版本 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

czwen avatar Jul 27 '17 02:07 czwen

delay 不是在屏幕上停留的时间,而是延时上屏的时间。 如果你是即时上屏,不用添加 delay 参数。

unash avatar Jul 27 '17 02:07 unash

我知道啊,我为了不重叠,延迟了下一条进入的时间。 但是现在没有按 1 4 7 2 5 8 3 6 这种顺序

czwen avatar Jul 27 '17 02:07 czwen

弹幕 1, delay=3 -----1s 钟后---- 弹幕 2, delay = 1(小于上一条弹幕的delay时间)

会出现上述情况么

unash avatar Jul 27 '17 02:07 unash

会的

czwen avatar Jul 28 '17 09:07 czwen

delay 打乱了弹幕顺序。

unash avatar Jul 28 '17 12:07 unash