Barrage 弹幕
弹幕组件
使用指南
在 Taro 文件中引入组件
import { ZoBarrage } from '@lylb/tzo-ui';
一般用法
import Taro from '@tarojs/taro';import { ZoBarrage } from '@lylb/tzo-ui';export default class Index extends Taro.Component {constructor() {super(...arguments);this.state = {keepRun: true,list: [{txt: '我我我领取了法拉利5元优惠券',img: 'https://icebreaker.top/_ice/img/avatar.166c088.jpg',color: 'red',},{txt: 'xx刚刚领取了兰博基尼5元优惠券',},{txt: 'xx刚刚领取了兰博基尼5元优惠券',},{txt: 'xx刚刚领取了兰博基尼5元优惠券',},{txt: 'xx刚刚领取了兰博基尼5元优惠券',color: 'red',},],item: null,};}handleClick = () => {this.setState({item: {txt: '我是新添加的数据',color: '#000000',},});};changeStatus = () => {const { keepRun } = this.state;this.setState({keepRun: !keepRun,});};render() {const { list, item, keepRun } = this.state;return (<View><ZoBarrage list={list} item={item} keepRun={keepRun} /><View onClick={this.handleClick}>添加弹幕</View><View onClick={this.changeStatus}>停止/运行弹幕</View></View>);}}
参数
参数 | 说明 | 类型 | 可选值 | 默认值 |
---|---|---|---|---|
options | 弹幕参数 | IOptions | - | - |
list | 弹幕数据源 | IItem[] | 必填 | - |
item | 后续添加的单个弹幕数据 | IItem | - | null |
keepRun | 弹幕运行状态 | boolean | - | true |
IOptions
参数 | 说明 | 类型 | 可选值 | 默认值 |
---|---|---|---|---|
mode | 弹幕项出场模式。once:只出场一次 loop:循环参与滚动 | 'once' 'loop' | 'once' 'loop' | 'loop' |
canvasHeight | 画布高度。默认 150px | number | - | 150 |
canvasWidth | 后续添加的单个弹幕数据 | number | - | 屏幕宽度 |
height | 弹幕项高度。默认 22px | number | - | 22 |
imgWidth | 头像尺寸. 默认 15px | number | - | 15 |
maxRow | 最大行数。默认 3 | number | - | 3 |
minGap | 每行弹幕项最小间隔。默认 30 | number | - | 30 |
maxGap | 每行弹幕项最大间隔,会影响出场排列。默认 canvasWidth | number | - | canvasWidth |
rowGap | 行间距. 默认 20 | number | - | 20 |
imgTextGap | 头像文字间距。默认 6 | number | - | 6 |
dpr | device pixel ratio. 默认自动获取 | number | - | 自动获取 |
offsetTop | 第一行弹幕距离顶部位置. 默认同 height | number | - | height |
minSpeed | 最小滚动速度。 默认 1 | number | - | 1 |
maxSpeed | 最大滚动速度。默认 40 | number | - | 40 |
canvasId | canvas 画布 id | string | - | barrage |
IItem
参数 | 说明 | 类型 | 可选值 | 默认值 |
---|---|---|---|---|
img | 头像图片地址 | string | - | - |
txt | 弹幕文案 | string | - | - |
font | 弹幕字体样式 | stirng | - | '12px arial' |
color | 弹幕文字颜色。默认 white | string | - | white |
bgColor | 弹幕的底色。默认 rgba(0,0,0,0.4). 传递 null 表示不绘制底色 | string | - | rgba(0,0,0,0.4) |