弹幕属性

为了加大对高级弹幕的支持,弹幕在经过解析器后将会被解析为一个个独立的对象,这些对象将会有自己的一系列属性。这里介绍弹幕对象的属性。 注意:这些属性的名称可能与解析器中不同,但是经过弹幕文件解析器后,生成一套可渲染的弹幕对象。各个解析器的内部实现不同,我们无法进行列举其属性对应得弹幕属性。

概览

所有的必选参数均表示为 加粗 字体。 text 文字 mode 类型 stime 开始时间 size 字号 color 颜色 dbid 绝对编码 date 发送时间 pool 弹幕池编号 hash 作者哈希 border 是否有边框 hold 暂停弹幕 duration 生命周期 x 横坐标 y 纵坐标 toX 横坐标末尾 toY 纵坐标末尾 rY 在X轴转动量 rZ 在Z轴转动量 movable 是否可动 moveDuration 移动时长 moveDelay 移动延时 alphaFrom 初始透明度 alphaTo 结束透明度 shadow 文字钩边 * font 文字字体

必选参数介绍

text

文字参数,文字参数由弹幕解析器生成,其可能来源于弹幕文件本身,或者弹幕文件高级弹幕的配置中截取。文字参数将直接表示生成弹幕中所含的文字, 如果需要有特殊转义字符(如 /n = 换行),他们必须被事先处理掉。 注意:图片弹幕中的 text 字段表示图片的URL。

mode

弹幕类型参数,类型参数请参见CommentTypes介绍的相关类型对应表。不同的类型参数可能会决定可选参数读取哪些。在很多时候,一些特殊的类型弹幕的 一些可选参数项将变为必选参数。原则上Mode为正整数。

stime

开始时间,开始时间按微秒(千分之一秒 0.001s)的倍数记录,如:在视频播放1s后进入的弹幕,对应的stime属性是1000。原则上stime的值应该是非负整数。 请注意:有些特殊类型的弹幕将会定义 0 作为stime起始值,但弹幕并不会渲染,而可能全程参与改变弹幕属性。

color

弹幕颜色,弹幕颜色则是定义弹幕的默认颜色。值的类型是字符串。格式为WEB RGB色的HEX表示"#" + 六位十六进制数字#FFFFFF表示纯白色。请参考CSS中的颜色定义 来进一步了解。注意:过滤器进行颜色过滤时,也会把此参数对代为String而非特殊的Color。

size

文字字号,字号为CSS的像素字号大小。这没什么好说的。各字号对应的值请参考 CommentSizes.md

可选参数介绍

注意,不是所有的可选参数在所有的情况下都能起到其宣传的效果。渲染器是否理睬某个可选参数依赖于弹幕的类型

date

类型限制:无

发送日期,记录为时间戳。起不到渲染的作用,也对其没有影响。唯一的影响在于在排序时,两个相同stime的弹幕,Date更新的则会排在后面(渲染更靠上层)。

dbid

类型限制:无

记录弹幕的数据库ID,这样,同一时间,靠前的弹幕会先显示,靠后的后显示,来实现遮罩。请注意DBID必须唯一!

hash

类型限制:无

发送弹幕者的唯一识别哈希。用于按作者过滤。存储为字符串,而且建议最好只包含a-zA-Z0-9和-_=/.这些符号。

border

类型限制:无

弹幕的边框,类型为布尔值,默认为false,最好携带此参数,发送新弹幕的弹幕,默认此值为true。为true时,生成的弹幕对象外围将被蓝色的边框框住。

hold

类型限制:无

如果此值是true则暂停弹幕不动

duration

类型限制:mode  > 6

弹幕生存时间,为微秒计时,决定多少秒后高级/定位弹幕被移除舞台。

x,y

类型限制:mode > 6

弹幕坐标位置(起始),这个属性只在定位弹幕或更高级的弹幕中才被利用。动态弹幕将会以此值为初始移动位置,而静态弹幕则会在标出的位置生成。 有些高级弹幕虽然也有x,y属性。虽然一般情况下x,y属性都表示位置坐标,但是有些高级弹幕中这个属性起到的效果未必是定位,具体需要参考该类型实现。

movable

类型限制:mode > 6

弹幕可移动,布尔,这个属性只在定位弹幕下有效,用于指定弹幕是否可移动。高级弹幕中的此参数不保证作用。

toX,toY

类型限制:mode > 6, movable == true

弹幕移动终点坐标,这个属性只对高级的移动定位弹幕生效。有些高级的其他类型弹幕也会使用。

moveDuration, moveDelay

类型限制:mode > 6, movable == true

移动时间轴定义,moveDuration定义了移动的时间轴长度,moveDelay定义了开始前的延时。在移动时,会首先等待,到moveDelay结束, 然后开始移动moveDuration时长。若moveDuration时长移动过后,弹幕生命周期还未到,则剩下时间在终点位置等待。若moveDuration 未到,但是弹幕已经到达生命周期,则会被移除舞台(不会完成移动,即无法到达终点)。

rY,rZ

类型限制:mode > 6

弹幕旋转,定义3D旋转效果。

alphaFrom, alphaTo

类型限制:mode > 6 or mode == 4 or mode == 5

透明度渐变,alphaFrom为初始透明度,alphaTo为终止透明度。注意本设置在顶部和底部渐隐弹幕中也可用。

shadow

类型限制:无

设定弹幕的钩边,如果是 false 则禁用弹幕钩边。

font

类型限制:无

设定弹幕渲染字体(如果为空,则使用默认字体)。