Skip to content

Latest commit

 

History

History
112 lines (69 loc) · 3.63 KB

ranges.md

File metadata and controls

112 lines (69 loc) · 3.63 KB

弹幕生成范围的相关方法

注:这里的范围指的是弹幕在容器中所在高度的范围

目录

此处可设置的弹幕类型

弹幕类型(键) 默认生成范围 说明 弹幕堆叠的正方向
top [0, 70] 顶部弹幕 自上向下
bottom [0, 70] 底部弹幕 自下向上
scroll [0, 100] 所有除随机弹幕外的滚动弹幕(包括逆向的)的统称 自上向下
random [0, 100] 所有随机滚动弹幕(包括逆向的)的统称 自上向下

弹幕堆叠的正方向是什么

这是我脑袋一热想出的说法,要解释的话就举些例子吧:

  • 顶部弹幕创建的时候,第一条在最顶部,第二条距顶部远了一点,第三条距顶部比第二条还远。
    视觉上来说,弹幕是自上向下在“堆叠”的。

  • 底部弹幕创建的时候,第一条在最底部,第二条距底部远了一点,第三条距底部比第二条还远。 视觉上来说,此时弹幕是自下向上在“堆叠”的。


弹幕生成范围和弹幕堆叠方向

弹幕生成范围就是基于弹幕堆叠方向来算的,这里还是举两个例子:

  • 假如我设置顶部弹幕的生成范围是[20,70],实际上意味着顶部弹幕只能在自容器顶部20%70%高度之间生成。

  • 假如我设置底部弹幕的生成范围是[30,80],就意味着底部弹幕只能在自容器底部30%80%高度之间生成。


设置弹幕生成范围的方法

danmaku.ranges(keyOrObject, valueArr = null)
  • keyOrObject - 代表弹幕类型的键 或 包含生成范围键值对的对象

  • valueArr - 区间数组(在第一个参数为代表弹幕类型的键的情况下有效)


方法特点

和属性danmaku.attrs()方法的一样,是可以继承之前的配置的。


keyOrObject

这个参数取值可以是一串字符串,代表待设置的弹幕类型;或者是一个包含生成范围键值对的对象。

此处可用的“弹幕类型”见上方

仍然是举个栗子:

当这个参数为字符串的时候:

danmaku.ranges('top',[20, 70])

当这个参数为包含键值对的对象的时候:

danmaku.ranges({
    'bottom': [30, 80],
    'scroll': [20, 70]
})

valueArr

这个参数的取值是一个代表闭区间的数组,其中第一个数组元素代表起始高度百分比,第二个数组元素代表结束高度百分比

keyOrObject字符串的时候,这个参数是必需的。


重置所有弹幕生成范围的方法

danmaku.resetRanges()

这个方法没有参数,会重置所有弹幕类型的生成范围为默认值。

默认值详见上方