搜档网
当前位置:搜档网 › bilibili代码弹幕初阶入门教程(转载)

bilibili代码弹幕初阶入门教程(转载)

bilibili代码弹幕初阶入门教程(转载)
bilibili代码弹幕初阶入门教程(转载)

前言 高级弹幕不难.基础的部分非常简单.只需要你花上一点时间就可以轻松上手.重要的是需 要对作品的理解以及对时间的把握.无论什么弹幕只需要一颗有爱的心就够了.弹幕需要是爱 与人参.所以我希望大家不要去使用高级弹幕去做不好的事情.
目录
第一章 初步了解高级弹幕
1.1 变量 1.2 创建文本弹幕对象 1.3 弹幕对象运动的设置 1.4 绘图弹幕对象创建以及设置 1.4.1 颜色样式设置 1.4.1.1 beginFill 指定一种颜色进行填充 1.4.1.2 lineGradientStyle beginGradientFill 指定一种线条样式,填充样式的渐变 1.4.1.3 lineStyle 指定线条样式 1.4.2 图形的绘制 1.4.2.1 绘制一条直线 1.4.2.2 绘制一条二次贝塞尔曲线 1.4.2.3 绘制一个圆 1.4.2.4 绘制一个椭圆 1.4.2.5 绘制一个矩形 1.4.2.5 绘制一个圆角矩形
第二章 使用其他工具
2.1Utils 工具库 2.1.1 hue 将 0-360 的值映射到色相环 2.1.2 rgb 将 RGB 值映射到色彩值上 2.1.3 formatTimes 格式化播放时间 2.1.4 timer 延迟执行函数 2.1.5 interval 定时重复执行函数 2.1.6 distance 计算坐标距离 2.1.7 rand 返回一个前闭后开的整数 2.2 Function 函数的创建与使用 2.3 播放器控制 2.3.1 视频时间跳转至 2.3.2 跳转到指定 av 号指定页视频

第一章 初步了解高级弹幕
1.1 第一节 变量 废话不多说.我们先来看一句最基本的弹幕. var a = 1; 首先一次个关键字是”var”.该关键字的意思就是声明一个变量.变量说的简单点就是在 后面的过程中可以给 “a” 重新赋值. 然后就是变量名”a”了,这玩意理解成名字就行了.至于关于变量名的规则有些关键字与 保留字是不允许创建的.保留字,关键字 第三个是运算符”=”,首先等于号并不是数学中的等于意思.而是给声明的变量 a 赋值.将 等号右边的值赋予给左边. 第四个”1”就是一个值了.结尾的分号表示该语句结束.

看到这里相信大家已经对这句弹幕有了基础的了解.这句话的意思就是: 声明变量”a”并且初始化其值为数字 1. 写高级弹幕的时候请严格注意大小写. var 变量名 = 表达式;
1.2 第二节 创建文本弹幕对象. 首先要知道 bili 的播放器的大小.像素为单位. 正常模式:宽 541 高 384 宽屏模式:宽 950 搞 528 全屏模式与网页全屏模式根据显示器分辨率来确定. 在高级弹幕中在 实际弹幕时间会在发布时间轴填写的时间基础上减去约 0.2 秒.所以请 注意时间轴的问题 高级弹幕中创建新的文本弹幕对象要用到 createComment("",{})这个语句.请看实例 var a = $.createComment("text ",{x:100}); 该弹幕的意思就是 创建一个变量 a 并创建一个新弹幕对象赋于 a. 我们可以这么理解 createComment.他的括号内有 2 个参数.”text”是弹幕内容.{x:100} 是该弹幕参数 x 轴上的位置是 100. 当然括号内的不可能只有 x 这一个参数.我们可以用到的有. x — 新创建元件的 X 轴座标 y — 新创建元件的 Y 轴座标 z — 新创建元件的 Z 轴座标 lifeTime — 元件的生存时间(以秒为单位)注:一旦设置不可更改 alpha — 元件的透明度 color — 文字类元件的色彩 fontsize — 文字类元件的大小 parent — 元件的父元件 (进阶应用) motion — 元件移动策略 scale — 缩放 那么我们来定义一个稍微复杂点的高级弹幕. 例: var c = $.createComment("text",{ x:100,y:100, lifeTime:10, fontsize:20, color:0x666666,

alpha:0.8 }); (注:参数之间以英文逗号区分,最后一个参数结尾无逗号) 大家可以预览一下这条弹幕.就是在 x 轴 100,y 轴 100 的位置创建一个内容是 text 的弹 幕.该弹幕生存时间为 10 秒.字体大小为 20 号.十六进制颜色为灰色.透明度 0.8. 那么.到了这里大家应该已经知道怎么去在一个点创建弹幕并设置该弹幕各项参数. 接下来就来说一下在创建后各项属性的更改与设置. 现在.声明变量 c 并创建了一个弹幕内容为"测试"的弹幕.它的 x 轴为 50,y 轴为 100. 例: var c = $.createComment("测试",{x:50,y:100});
那么如果我们现在需要让他的位置 x 轴不变 y 轴变更到 50.那么我们这个时候就需要直接更 改弹幕的某一个参数.只需要在弹幕后面加上. c.y = 50; (注:更改颜色的语句不是 c.color 而是 c.textColor.注意大小写) 此外还有比较常用的就是旋转 3 个轴的设置. c.rotationX,rotationY,rotationZ. 例: c.rotationX=90;
另还有些参数也可以设置.详细参考 训练题: 1. 声明变量 c 并创建一条弹幕对象.其内容为空.其属性为 X 轴为 270.Y 轴为 190.生存时间 5 秒.字体颜色为 0xff0000,透明度为 0.5.字体大小为 15 号. 2. 更改 c 的 x 轴位置为 200.透明度更改为 1.颜色为 0xfff000.
1.3 弹幕对象运动的设置 在上一个章节中学习了如何创建文本对象和设置文本对象的参数.这次就讲如何让创建的弹

幕对象运动起来.这里我们要用到 motion.下面请看一个例子.
var c = $.createComment("移动测试",{ motion:{ x:{fromValue:100,toValue:250,lifeTime:3} }, lifeTime:3 });
让我们来分析这条弹幕. 首先上已经了解过了 createComment 的用法.那么我直接来看到多出来的这个属性 motion. motion:{ x:{fromValue:100,toValue:250,lifeTime:3}} 在这里面其中 x 为需要移动的参数.x 中的 fromValue 是 x 的起始位置 toValue 是结束位 置.lifeTime 是这个运动过程所花费的时间.(注:如果在 motion 里面 x.y 有起始值并且在 motion 外也设置 x.y 的值,那么将显示 motion 里面的设置位置) 此外 motion 支持多属性同时运动. 例: var c = $.createComment("移动测试",{ motion:{ x:{fromValue:100,toValue:250,lifeTime:3}, alpha:{fromValue:0,toValue:1,liftTime:3} }, lifeTime:3 });
这次除了移动 x 轴还添加了一个透明度从 0 到 1 的变化. 下面我们说一下在 motion 中有哪些是可以做变化的. x:移动 x 轴位置. y:移动 y 轴位置. alpha:透明度变换(有效值 0-1). fontsize:字体大小变换(不推荐使用.字号的变换较明显. rotationX, rotationY, rotationX:旋转 x 轴,旋转 Y 轴,旋转 Z 轴. 其中的属性值有: 必填 fromValue 起始移动属性值 可选 toValue 结束移动属性值 如留空则不移动 可选 lifeTime 以秒为单位的移动生存时间 如留空则与整体生存时间一致 可选 startDelay 以毫秒为单位的起始移动延时时间(毫秒为单位) 可选 easing 详细请看补间效果

可选
repeat
效果重复次数
下面我们来看一个相对复杂的例子
var c = $.createComment("移动测试",{ motion:{ x:{fromValue:100,toValue:250,lifeTime:3,startDelay:500}, y:{fromValue:50,toValue:250,lifteTime:3}, alpha:{fromValue:0,toValue:1,lifeTime:0.5,repeat:6} }, lifeTime:3 });
在这个例子里面我们用到了 startDelay 这个属性.我们把这个代码拆开分了 3 段来看. 首先 x 轴的是从 100 移动到 250.移动时间 3 秒.然后起始移动时间是 500 毫秒.也就是说 x 轴 是在 500 毫秒后开始移动的. 然后是 y 轴从 50 移动到 250 移动时间 3 秒. 最后是透明度从 0 到 1 变化时间为 0.5 秒.重复执行 6 次. 把这三个参数整合在一起就变成了.移动测试从 x:100,y:50 的位置开始移动,并且透明度最 开始是 0.由于 x 有一个起始移动时间.但是 y 轴跟透明度变化已经开始.所以首先"移动测试" 会先渐入的向下移动.500 毫秒后 x 开始移动这个时候 y 轴的移动还没有停第一次的透明度改 变已经结束.所以 x,y 轴这个时候是同时移动的.最后结果回是往右下移动并且透明度会重复 的从 0 到 1.. 虽然可以使用 repeat 这个属性执行重复的操作.但是这个是远远不能满足复杂的移动效果的. 然而去创建很多 motion 也是很麻烦的.这里我就需要用到 motionGroup 了.motionGroup 能执 行多个 motion 连续运动. 我们来看一个实例. var c = $.createComment("弹幕测试",{ x:100,y:50, motionGroup:[ {x:{fromValue:100,toValue:200,lifeTime:1},alpha:{fromValue:0,toValue:1,lifeTime :1}}, {y:{fromValue:50,toValue:150,lifeTime:1},alpha:{fromValue:1,toValue:0,lifeTime: 1}} ] });)

以上弹幕就是使用一个组将两个移动连接在了一起→↓.需要注意的是 motionGroup 的冒号 后面的是英文中括号.并且每一次移动包括透明度都最好加上 lifeTime 并且每一个 motion 中 的 lifeTime 的时间必须一致..每一次 motion 之间用英文逗号相隔.最后一个结尾无符号.
1.4 绘图弹幕对象创建以及设置 使用命令:createShape 例子: var g = $.createShape({x:50,y:50,lifeTime:3,alpha:0.5}); 首先创建一个新的图形对象.里面可以设置的内容同文本对象 (位置,生存时间,透明度,运动设 置等方法同 creatComment). 绘图需要使用到的: curveTo 使用当前线条样式绘制一条二次贝塞尔曲线 drawCircle 绘制一个圆. drawEllipse 绘制一个椭圆 drawRect 绘制一个矩形 drawRoundRect 绘制一个圆角矩形 lineTo 绘制一条直线 beginFill 指定一种颜色进行填充 lineStyle 指定线条样式 lineGradientStyle 指定一种线条样式的渐变 beginGradientFill 指定一种填充样式的渐变 我们来一个个的来了解.首先要了解的并不是怎么去绘制而是设定绘制的样式
1.4.1 颜色样式设置
1.4.1.1 beginFill 指定一种颜色进行填充 这里用到: beginFill 指定一种颜色进行填充 在 beginFill 里面有 2 个参数.第一个是十六进制的颜色,第二个是填充的透明度(可选). 实例: var g = $.createShape({x:50,y:50,lifeTime:3,alpha:0.5}); g.graphics.beginFill(0xff0000,0.5); g.graphics.beginFill(0xff0000); 这里用的一长串就是设置 g 的填充颜色以及透明度.两个都是有效的. graphics 则是是提供绘图的 API.以后使用的时候都会用到这个.后面小括号内就是参数了. 注:graphics 前面的 g 必须是创建图形对象的名字.

1.4.1.2 lineGradientStyle beginGradientFill 指定一种线条样式,填充样式的渐变 这里需要用到: lineGradientStyle 指定一种线条样式的渐变 beginGradientFill 指定一种填充样式的渐变 详细请看:链接 g.graphics.beginGradientFill("linear", [0xFF0000, 0x00FF00,0x0000FF],[1,1,1],[0x00,0x7f,0xff] , $.createGradientBox(20, 20, 0, 0, 0),"reflect","rgb",0);
type 上例参数 "linear" 用于指定要使用哪种渐变类型的 GradientType 类的值: GradientType.LINEAR 或 GradientType.RADIAL。 colors 上例参数[0xFF0000, 0x00FF00,0x0000FF] 要在渐变中使用的 RGB 十六 进制颜色值数组(例如,红色为 0xFF0000,蓝色为 0x0000FF 等等) 。 alphas 上例参数[1,1,1] colors 数组中对应颜色的 alpha 值数组;有效值为 0 到 100。 如果值小于 0,Flash playe 将使用 0。 如果值大于 100,Flash Player 将使用 100。 Ratios 上例参数[0x00,0x7f,0xff] 颜色分布比率的数组;有效值为 0 到 255。 该 值定义 100% 采样的颜色所在位置的宽度百分比。 值 0 表示渐变框中的左侧位置, 255 表 示渐变框中的右侧位置。 该值表示渐变框中的位置,而不是最终渐变的坐标空间,坐标空 间可能比渐变框宽或窄。 为 colors 参数中的每个值指定一个值。 matrix 上例参数$.createGradientBox(20, 20, 0, 0, 0) 一个由 Matrix 类定义 的转换矩阵。 Matrix 类包括 createGradientBox() 方法,通过该方法可以方便地设置矩阵, 以便与 beginGradientFill() 方法一起使用,亦可使用$.createGradientBox()。 createGradientBox(20, 20, 0, 0, 0)中 5 个数值分别是. width — 渐变框的宽度。 height — 渐变框的高度。 rotation — 旋转量(以弧度为单位) 。 tx — 沿 x 轴向右平移的距离(以像素为单位) 。此值将偏移 width 参数的一半。 ty — 沿 y 轴向下平移的距离(以像素为单位) 。此值将偏移 height 参数的一半。 spreadMethod 上例参数"reflect" 用于指定要使用哪种 spread 方法的 interpolationMethod 上例参数"rgb" 用于指定要使用哪个值的 值:linearRGB 或 rgb 例如,假设有两种颜色之间的简单线性渐变(spreadMethod 参数设置为 reflect) 。 focalPointRatio 上例参数"0" 一个控制渐变的焦点位置的数字。 0 表示焦点位于中心。 1 表示焦点位于渐变圆的一条边界上。 -1 表示焦点位于渐变圆的另一条边界上。 小于 -1 或大于 1 的值将舍入为 -1 或 1。
实际运用: var g = $.createShape({x:50,y:50,lifeTime:5}); g.graphics.beginGradientFill("linear", [0xFF0000, 0x00FF00,0x0000FF],[1,1,1],[0x00,0x7f,0xff] , null,"reflect",0);

g.graphics.drawCircle(0,0,50); g.graphics.endFill();
在实际运用中后面几个可以不填写或者值为 null 但是其中的 colors ,alphas, Ratios 数组必须 存在并且对应数组长度.另 Ratios 数组内数值必须从小到大 1.4.1.3 lineStyle 指定线条样式 这里用到: lineStyle 指定线条样式 g.graphics.lineStyle(1, 0x000000, 1, false, "vertical","none", "miter", 10);
thickness 上例参数 1 一个整数, 以磅为单位表示线条的粗细; 有效值为 0 到 255。 如 果未指定数字,或者未定义该参数,则不绘制线条。 如果传递的值小于 0,则默认值为 0。 值 0 表示极细的粗细;最大粗细为 255。 如果传递的值大于 255,则默认值为 255。 color 上例参数 0x000000 线条的十六进制颜色值(例如,红色为 0xFF0000,蓝色为 0x0000FF 等) 如果未指明值,则默认值为 0x000000(黑色) 可选。 。 。 alpha 上例参数 1 表示线条颜色的 Alpha 值的数字;有效值为 0 到 1。 如果未指明 值, 则默认值为 1 (纯色) 如果值小于 0, 。 则默认值为 0。 如果值大于 1, 则默认值为 1。 pixelHinting 上例参数 false 用于指定是否提示笔触采用完整像素的布尔值。 scaleMode 上例参数"vertical" 用于指定要使用哪种缩放模式的 LineScaleMode 类的 值: normal -- 在缩放对象时总是缩放线条的粗细(默认值) 。 none -- 从不缩放线条粗细。 vertical -- 如果仅 垂直缩放对象,则不缩放线条粗细。 horizontal -- *如果仅 水平缩放对象,则不缩放线条粗细。 caps 上例参数"none" 用于指定线条末端处端点类型的 CapsStyle 类的值。 有效值为: none、round 和 square. 如果未指示值,则 Flash 使用圆头端点。 joints 上例参数"miter" JointStyle 类的值,指定用于拐角的连接外观的类型。 有效值 为:bevel、miter 和 round。 如果未指示值,则 Flash 使用圆角连接。 miterLimit 上例参数 10 一个表示将在哪个限制位置切断尖角的数字。 有效值的范围是 1 到 255(超出该范围的值将舍入为 1 或 255) 。 miterLimit 值: 小于此角度将被切断: 1.414 90 度 2 60 度 4 30 度 8 15 度 实例: var g = $.createShape({x:100,y:100,lifeTime:5});

g.graphics.lineStyle(1, 0x000000, 1, false, "vertical","none", "miter", 10); g.graphics.lineTo(100,0); g.graphics.endFill();
1.4.2 图形的绘制 这里用到 curveTo 使用当前线条样式绘制一条二次贝塞尔曲线 drawCircle 绘制一个圆. drawEllipse 绘制一个椭圆 drawRect 绘制一个矩形 drawRoundRect 绘制一个圆角矩形 lineTo 使用当前线条样式绘制一条直线 moveTo 移动绘画位置到一个点 这里先说明绘画位置的问题. 使用 createShape 命令内参数 x.y 轴的位置为初始绘画位置.
使用 moveTo 命令可以移动当前绘画位置. 例 g.graphics.moveTo(100,100);
移动绘画位置到 x 轴 100,y 轴 100 的位置. 1.4.2.1 绘制一条直线 命令:lineTo(); 参数:lineTo(x,y); 参数说明: x:相对于父显示对象的水平坐标. y:相对于父显示对象的垂直坐标. 例: var g = $.createShape({x:100,y:100,lifeTime:5}); g.graphics.lineTo(200,200); g.graphics.endFill();
以上弹幕看不到直线的?因为绘制线条之前必须设置线条样式或者设置填充样式绘制一个 封闭图形. 正确的使用方法:

var g = $.createShape({x:100,y:100,lifeTime:5}); g.graphics.lineStyle(1, 0x000000, 1, false, "vertical","none", "miter", 10); g.graphics.lineTo(200,200); g.graphics.endFill();
说明:该直线绘制直线的位置并不是播放器的 x:200, y:200 而是相对与 createShape 中 100,
100 的基础上的 x:200,y:200.也就是实际位置在播放器的 x:300,y:300.
设置填充样式绘制一个封闭图形: var g = $.createShape({x:200,y:200,lifeTime:5}); g.graphics.beginFill(0xff0000); g.graphics.lineTo(200,200); g.graphics.lineTo(100,200); g.graphics.lineTo(100,100); g.graphics.endFill();
当需要绘制多条不连续的直线时则需要使用到 moveTo(); 例
var g = $.createShape({x:200,y:200,lifeTime:5}); g.graphics.lineStyle(1, 0x0000FF, 1, false, "vertical","none", "miter", 10); g.graphics.lineTo(100,100); g.graphics.moveTo(0,0); g.graphics.lineTo(-100,100); g.graphics.endFill();
1.4.2.2 绘制一条二次贝塞尔曲线 命令:curveTo(); 参数:curveTo(controlX, controlY, anchorX, anchorY); 参数说明: controlX: 指定控制点相对于父显示对象注册点的水平位置 controlY: 指定控制点相对于父显示对象注册点的垂直位置
anchorX: 指定下一个锚点相对于父显示对象注册点的水平位置 anchorY: 指定下一个锚点相对于父显示对象注册点的垂直位置 这里我们先不看例子.先来理解一下什么是控制点,什么是锚点.详细请看图.

以这样一个三角来确定绘制曲线. 实例: var g = $.createShape({x:100,y:100,lifeTime:5}); g.graphics.lineStyle(1, 0x0000FF, 1, false, "vertical","none", "miter", 10); g.graphics.curveTo(50,-50,100,0); g.graphics.endFill();
1.4.2.3 绘制一个圆
命令:drawCircle (); 参数:drawCircle (x, y, radius); 参数说明: x: 相对于父显示对象注册点的水平位置 y: 相对于父显示对象注册点的垂直位置
radius: 圆的半径 实例: var g = $.createShape({x:100,y:100,lifeTime:5}); g.graphics.beginFill(0xff0000); g.graphics.drawCircle(0,0,30); g.graphics.endFill();
1.4.2.4 绘制一个椭圆
命令:drawEllipse (); 参数:drawEllipse (x, y, width,height); 参数说明: x: 相对于父显示对象注册点的水平位置 y: 相对于父显示对象注册点的垂直位置 width: 椭圆的宽度 height: 椭圆的高度

实例: var g = $.createShape({x:100,y:100,lifeTime:5}); g.graphics.beginFill(0xff0000); g.graphics.drawEllipse(0,0,30,50); g.graphics.endFill();
1.4.2.5 绘制一个矩形 命令:drawRect (); 参数:drawRect (x, y, width,height); 参数说明: x: 相对于父显示对象注册点的水平位置 y: 相对于父显示对象注册点的垂直位置 width: 矩形的宽度 height: 矩形的高度
实例: var g = $.createShape({x:100,y:100,lifeTime:5}); g.graphics.beginFill(0xff0000); g.graphics.drawRect(0,0,30,50); g.graphics.endFill();
1.4.2.5 绘制一个圆角矩形 命令:drawRoundRect (); 参数:drawRoundRect (x, y, width,height, ellipseWidth, ellipseHeight); 参数说明: x: 相对于父显示对象注册点的水平位置 y: 相对于父显示对象注册点的垂直位置 width: 矩形的宽度 height: 矩形的高度 ellipseWidth:绘制圆角的宽度. ellipseHeight:绘制圆角的高度.
实例: var g = $.createShape({x:100,y:100,lifeTime:5}); g.graphics.beginFill(0xff0000); g.graphics.drawRoundRect(0,0,30,50,10,10); g.graphics.endFill();

至此关于绘制的图像也基本到了一段落.这里需要说明的是在高级弹幕设置参数中都是可以 先前设定的变量代替参数.例:
var width = 30; var g = $.createShape({x:100,y:100,lifeTime:5}); g.graphics.beginFill(0xff0000); g.graphics.drawRoundRect(0,0,width,50,10,10); g.graphics.endFill();
这样写是完全没问题.文本对象也是完全可以这么使用的.
至此高级弹幕里最最基础的部分也已经告了一段落.接下来的教程中讲重点讲创 建后具体使用方面的知识.怎么运用其他工具让高级弹幕更上一层楼.
第二章 使用其他工具
2.1Utils 工具库 使用命令: hue:将 0-360 的值映射到色相环上 rgb:将 RGB 值映射到色彩值上 formatTimes:格式化播放时间 delay:延迟执行函数 interval:定时执行函数 distance:计算座标距离 rand:rand 返回一个伪随机数 n,其中 min <= n < max。 2.1.1 hue 将 0-360 的值映射到色相环上
命令:Utils.hue(); 参数:Utils.hue(v); 参数说明: v: 取值范围:一个正整数. 0-360,如果超过 360 将自动换成除以 360 后的余数.例 361 等同与 1; 例:
var v = 140; var color = Utils.hue(v); var g = $.createShape({x:100,y:100,lifeTime:5}); g.graphics.beginFill(color); g.graphics.drawCircle(0,0,30); g.graphics.endFill();
2.1.2 rgb 将 RGB 值映射到色彩值上

命令:Utils.rgb(); 参数:Utils.rgb(r,g,b); 参数说明: r: RGB 中红色的值.取值范围:一个正整数,0-255,如果超过 255 将自动换成除以 255 后的余数. g: RGB 中绿色的值.同上 b: RGB 中蓝色的值.同上
var color = Utils.rgb(255,255,255); var g = $.createShape({x:100,y:100,lifeTime:5}); g.graphics.beginFill(color); g.graphics.drawCircle(0,0,30); g.graphics.endFill();
2.1.3 formatTimes 格式化播放时间 命令:Utils. formatTimes (); 参数:Utils. formatTimes (time); 参数说明: time: 一个数字.格式化后将变成 00:00 的文本形式. 例:
var t = Utils.formatTimes(Player.time/1000); var c = "视频时间:"+t; var g = $.createComment(c,{x:100,y:100,lifeTime:5});
2.1.4 timer 延迟执行函数 命令:timer (); 参数:timer (f,time); 参数说明: f: 要延迟执行的函数. time: 延迟执行的时间.以毫秒为单位. 例:
timer(function(){var g = $.createShape({x:100,y:100,lifeTime:5}); g.graphics.beginFill(0xffffff); g.graphics.drawCircle(0,0,30); g.graphics.endFill(); },1000);
2.1.5 interval 定时重复执行函数 命令:interval (); 参数:interval(f,time,times); 参数说明:

f: 要延迟执行的函数. time: 延迟执行的时间.以毫秒为单位. times:执行函数的次数.
例:
var g = $.createShape({x:100,y:100,lifeTime:5}); g.graphics.beginFill(0xffffff); g.graphics.drawCircle(0,0,30); g.graphics.endFill(); interval(function(){g.x+=40; },1000,5);
说明:每隔 1 秒绘制的圆向右移 40 像素. 2.1.6 distance 计算坐标距离 命令:Utils.distance (); 参数:Utils.distance(x1,y1,x2,y2); 参数说明: x1: 计算起始坐标 x 轴 y1: 计算起始坐标 y 轴 x2: 计算结束坐标 x 轴 y2: 计算结束坐标 y 轴
var d = Utils.distance(100,100,200,200); var g = $.createShape({x:100,y:100,lifeTime:5}); g.graphics.lineStyle(1, 0x0000FF, 1, false, "vertical","none", "miter", 10); g.graphics.lineTo(0,d); g.graphics.endFill();
创建新的 Point(一个点). 命令:$.createPoint (); 参数:$.createPoint (x,y); 参数说明: x: 坐标 x 轴 y: 坐标 y 轴 例:
var p1 = $.createPoint (100,100); var p2 = $.createPoint (200,200); var d = Utils.distance(p1.x,p1.y,p2.x,p2.y); var g = $.createShape({x:100,y:100,lifeTime:5});

g.graphics.lineStyle(1, 0x0000FF, 1, false, "vertical","none", "miter", 10); g.graphics.lineTo(0,d); g.graphics.endFill();
解释:创建 2 个新的 Point 对象并计算坐标距离.并绘制一条长为此距离的直线. 2.1.7 rand 返回一个前闭后开的整数 命令:Utils.rand (); 参数:Utils.rand(min,max); 参数说明: min: 伪随机数最小值 max: 伪随机数最大值 例:
var g = $.createShape({x:100,y:100,lifeTime:5}); g.graphics.beginFill(0xffffff); g.graphics.drawCircle(0,0,30); g.graphics.endFill(); interval(function(){g.x+=Utils.rand(30,500); },1000,5);
说明:该弹幕绘制了一个圆,然后每隔 1 秒重复 5 次将该圆相对 x 轴位置移动到 30-500 中随 机位置.
2.2 Function 函数的创建与使用
函数在高级弹幕中有着至关紧要的作用.在今后的运用中是一个必不可少的存在. 函数就是定义一套对应规则.使得集合 A 的元素对应到另一个集合 B 的唯一元素. 函数具有一下特性: 1.拥有输入和输出两组数据. 2.函数定义了一套对应规则,该规则是固定的,也就是函数的行为是固定的. 3.某一输出值拥有唯一的输出值. 我们下面直接来看函数语句在高级弹幕中的用法.
function fname(pa1,pa2){ trace(pa1+pa2); };

上面就是一个最基本的函数.在每函数语句中包含着 3 个要素. 函数名:上例参数 fname 用来作为函数引用标识. 参数:上例参数(pa1,pa2) 一组用小括号括起来的一组数据,参数之间用逗号分隔.函数可 有空参数. 函数体:上例参数{trace(pa1+pa2);} 是实现函数功能的代码,代码用大括号括起来,在使用函 数时将执行代码. 那么这个例子中的函数就是定义一个名为 fname 的函数.函数体是输出 pa1+pa2. 另在函数的里面是可以创建函数的.但是在函数内创建的函数不能与外面的函数重名. 那么我们来看下面这个例子:
function dm(txt,Vx,Vy,Vfontsize,Valpha){ var c = $.createComment(txt,{ x:Vx, y:Vy, fontsize:Vfontsize, alpha:Valpha }); }; dm("1",100,100,20,1); dm("2",150,150,20,1); dm("3",200,200,20,1);
上面就完整的写明了函数的创建到使用.这里使用函数更加简便的使用了创建文本弹幕.方便 多次使用. 这里需要注意的是在函数里面创建的变量是不能在函数外面使用的.更多详细的内容会在以 后说到.
2.3 播放器控制
使用命令: Player.seek(); Player.jump(,); 2.3.1 视频时间跳转至 命令:Player.seek(); 参数:Player.seek(offset); 参数说明:

offset: 要在视频文件中移动到的时间近似值(以毫秒为单位).详细请看;
例:
Player.seek(1000);
2.3.2 跳转到指定 av 号指定页视频 命令:Player.jump (); 参数:Player.jump (av,page,.newwindow); 参数说明: av: 要跳转视频的 av 号码. page: 要跳转视频的第几页. newwindow:是否打开新窗口跳转值为 flase 为不打开.值为 true 打开.不填写默认值打开
Player.jump(“av120040”,1,flase);
高级弹幕的学习到这里已经告了一段落.在这里只说明了基础的运用.有时间我会写进阶运用 方法.如果有什么不懂的可以把问题发送到我邮箱 301082782@https://www.sodocs.net/doc/8814252169.html, .其实说实话我也是一 个半吊子.教程可能有很多地方有问题.所以欢迎大家积极的指出来.那么~高级弹幕初阶教程 到此结束.

Bilibili(哔哩哔哩弹幕网)企业战略分析

《企业战略管理》期末作业 Bilibili(哔哩哔哩弹幕网)企业战略分析

目录 哔哩哔哩 (1) 1公司概况 (3) 1.1公司简介 (3) 1.1.1网站简介 (3) 1.1.2网站特色 (3) 1.1.3网站分区 (3) 1.1.4管理制度 (3) 1.1.5盈利模式 (3) 1.1.6产品特点 (4) 2 SWOT分析 (4) 3哔哩哔哩网站的发展战略 (5) 3.1 Bilibili品牌特色 (5) 3.2 Bilibili发展模式及特点 (5) 3.3 Bilibili等弹幕视频网站的衍生文化 (6) 3.4 Bilibili从二次元趋于主流的原因分析 (7) 3.5 Bilibili特色线上线下活动 (7) 3.5.1线上活动——Bilibili创作激励计划 (7) 3.5.2线下活动——Bw&Bml (7) 4 哔哩哔哩的营销策略 (8) 4.1 Bilibili的商业模式 (8) 4.2前期营销发展存在的问题 (8) 5 Bilibili与Acfun对比分析 (9) 5.1 AB站“斗争”历史 (9) 5.2版权、许可证问题 (10) 5.3.管理层分析 (10) 5.3.1 A站 (10) 5.3.2 Bilibili (10) 5.4用户需求分析 (10) 5.5客户端对比 (11) 5.5.1主页 (11) 5.5.2视频页面 (11) 5.5.3弹幕管理 (11) 5.6总结 (12)

1. 公司概况 1.1 公司简介 1.1.1网站简介 哔哩哔哩(Bilibili)现为国内领先的二次元文化社区,该网站于2009年6月26日创建,被粉丝们亲切的称为“Bilibili”,其产品定位为基于弹幕视频分享的互联网社区。根据数据公司Questmobile发布的《移动互联网2017 年q2 夏季报告》,Bilibili位列24岁及以下年轻用户偏爱的十大App榜首,同时,在百度发布的2016热搜榜中,Bilibili在00后十大新鲜关注App中排名第一。目前Bilibili活跃用户超过1.5亿,每天视频播放量超过1亿,原创投稿总数超过1000万。Bilibili 75%的用户年龄在24岁以下。其用户标签为推崇弹幕文化、互动分享、潮流时尚。 1.1.2网站特色 Bilibili的特色是悬浮于视频上方的实时评论功能,爱好者称其为“弹幕”,这种独特的视频体验让基于互联网的弹幕能够超越时空限制,构建出一种奇妙的共时性的关系,形成一种虚拟的部落式观影氛围,让Bilibili成为极具互动分享和二次创造的文化社区。 Bilibili目前也是众多网络热门词汇的发源地之一。 1.1.3网站分区 Bilibili目前有动画、番剧、音乐、舞蹈、游戏中心、科技、生活、电影、电视剧、鬼畜、时尚、娱乐、电视剧、直播、广告、游戏、国创十六个分区。 70%的内容来自用户自制或原创视频,目前拥有超过100万的活跃视频创作者(又被称作Up主)。每个分版块都有索引方便查找,并各自有“本周强烈推荐”和各个专区最热视频。 1.1.4管理制度 Bilibili采用会员制度,大部分视频会员与游客都可以观看,但部分视频只有会员才可以观看。只有会员才可以发送弹幕表达自己的见解,并且会员分为注册会员与正式会员,:“注册会员”注册即可,而“正式会员”则需获得老会员邀请码或答题晋升。使用数据库方式储存弹幕,每个人在发送弹幕时IP与会员ID(如果已经登陆了的话)将会被后台记录,由单条弹幕可追查出发送该弹幕的会员ID或IP。且在首页显眼位置设有“意见建议”与“公告栏”,有利于解决问题和倾听意见。 对于发表被禁止的弹幕、留言、图片的视频会员与游客会被禁封ID或IP,按照违规次数,分别处以七天、十五天、永久禁封(即第三次违规直接永久)。并在右上角的“本日黑名单”处公示。 1.1.5盈利模式 ?游戏服务(游戏内购会员周边等) ?会员业务(大会员年度会员) ?移动增值业务 ?广告 ?直播 ?新番承包计划 ?线下活动 ?周边

bilibili高级弹幕代码初阶教程

目录
第一章 初步了解高级弹幕
1.1 变量 1.2 创建文本弹幕对象 1.3 弹幕对象运动的设置 1.4 绘图弹幕对象创建以及设置 1.4.1 颜色样式设置 1.4.1.1 beginFill 指定一种颜色进行填充 1.4.1.2 lineGradientStyle beginGradientFill 指定一种线条样式,填充样式的渐变 1.4.1.3 lineStyle 指定线条样式 1.4.2 图形的绘制 1.4.2.1 绘制一条直线 1.4.2.2 绘制一条二次贝塞尔曲线 1.4.2.3 绘制一个圆 1.4.2.4 绘制一个椭圆 1.4.2.5 绘制一个矩形 1.4.2.5 绘制一个圆角矩形
第二章 使用其他工具
2.1Utils 工具库 2.1.1 hue 将 0-360 的值映射到色相环 2.1.2 rgb 将 RGB 值映射到色彩值上 2.1.3 formatTimes 格式化播放时间 2.1.4 timer 延迟执行函数 2.1.5 interval 定时重复执行函数 2.1.6 distance 计算坐标距离 2.1.7 rand 返回一个前闭后开的整数 2.2 Function 函数的创建与使用 2.3 播放器控制 2.3.1 视频时间跳转至 2.3.2 跳转到指定 av 号指定页视频

第一章 初步了解高级弹幕
1.1 第一节 变量 废话不多说.我们先来看一句最基本的弹幕. var a = 1; 首先一次个关键字是”var”.该关键字的意思就是声明一个变量 .变量说的简单点就是在 后面的过程中可以给 “a” 重新赋值. 然后就是变量名”a”了,这玩意理解成名字就行了 .至于关于变量名的规则有些关键字与 保留字是不允许创建的.保留字,关键字 第三个是运算符”=”,首先等于号并不是数学中的等于意思.而是给声明的变量 a 赋值.将 等号右边的值赋予给左边. 第四个”1”就是一个值了.结尾的分号表示该语句结束. 看到这里相信大家已经对这句弹幕有了基础的了解.这句话的意思就是: 声明变量”a”并且初始化其值为数字 1. 写高级弹幕的时候请严格注意大小写.

bilibili代码弹幕初阶入门教程(转载)

前言 高级弹幕不难.基础的部分非常简单.只需要你花上一点时间就可以轻松上手.重要的是需 要对作品的理解以及对时间的把握.无论什么弹幕只需要一颗有爱的心就够了.弹幕需要是爱 与人参.所以我希望大家不要去使用高级弹幕去做不好的事情.
目录
第一章 初步了解高级弹幕
1.1 变量 1.2 创建文本弹幕对象 1.3 弹幕对象运动的设置 1.4 绘图弹幕对象创建以及设置 1.4.1 颜色样式设置 1.4.1.1 beginFill 指定一种颜色进行填充 1.4.1.2 lineGradientStyle beginGradientFill 指定一种线条样式,填充样式的渐变 1.4.1.3 lineStyle 指定线条样式 1.4.2 图形的绘制 1.4.2.1 绘制一条直线 1.4.2.2 绘制一条二次贝塞尔曲线 1.4.2.3 绘制一个圆 1.4.2.4 绘制一个椭圆 1.4.2.5 绘制一个矩形 1.4.2.5 绘制一个圆角矩形
第二章 使用其他工具
2.1Utils 工具库 2.1.1 hue 将 0-360 的值映射到色相环 2.1.2 rgb 将 RGB 值映射到色彩值上 2.1.3 formatTimes 格式化播放时间 2.1.4 timer 延迟执行函数 2.1.5 interval 定时重复执行函数 2.1.6 distance 计算坐标距离 2.1.7 rand 返回一个前闭后开的整数 2.2 Function 函数的创建与使用 2.3 播放器控制 2.3.1 视频时间跳转至 2.3.2 跳转到指定 av 号指定页视频

bilibili弹幕网营销方案

1 使用B站时的身份是up主/会员/游客 UP主2 会员9 游客11 2 不考虑技术因素,你是否愿意成为up主 是10 62% 否6 38% 3 你是否具备视频剪辑基础 是7 44% 否9 56% 4 推荐的一款视频剪辑软件 会影会声iMovie AE 5 不考虑技术因素,您愿意花在视频剪辑上的时间是多少 1小时以下4 25% 1到5小时9 56% 大于10小时 3 19% 6 如果B站推出线上视频快捷剪辑功能,提供线上素材库无需下载,操作简单,您是否愿意用这个功能取代其他视频剪辑软件 是12 80% 否3 20% 7 如果此功能解锁更高级的工具和素材,你是否愿意为此消费 是8 50% 否8 50% 8 如果愿意,您能接受的价格是多少(长期开通) 10元以内6 55% 10元到50元3 27% 50元到100元2 18% 哔哩哔哩营销方案 (1)企业或组织概况以及产品(或服务、概念)介绍 组织概括:bilibili是中国大陆一个动画、游戏相关的弹幕视频分享网站,也被称为哔哩哔哩、B站,是中国大陆第二家提供这样功能的网站。该网站由原AcFun网友徐逸于2009年6月26日创建。该网站于2010年1月24日更名为bilibili,且拥有有别于AcFun等视频弹幕网站的弹幕系统。目前本站在Alexa的统计中世界排名为295,中国排名为54。

服务:与一般视频播放网站不同,bilibili最大的特点是悬浮于视频上方的实时评论功能,用户将评论输入发送框,评论的内容就能如同飞过的子弹般划过屏幕。这一功能使视频观看不再是一个人的事情,而增添了与其他用户交流吐槽的新乐趣。 概念:创新的视频观看方式。 (2)SWOT分析:通过对自身优势、劣势和外部环境中机会、威胁的分析总结出此次营销计划的风险和契机。 (3)市场和产品定位。通过一手或二手调研的方式获取消费者资料。进行市场细分,并选择目标顾客群(包括首要和次要目标顾客群)以及进行市场定位。 (4)营销目标和策略 营销目标:开展新的营销项目的两年内,我们将bilibili弹幕网中期内的销售目标定在高水准。吸引更多身份为“游客”的非注册会员,提高同类视频观看网站的市场占有率。通过开发线上视频剪辑器,我们希望能够吸引更多未注册会员的游客,提高老会员的使用积极性,并且吸引一部分未关注bilibili弹幕网但是对视频剪辑有兴趣的人关注。在未来的24个月中,提高游客的注册率为15%,提高会员使用线上视频剪辑器的比率为30%。以包月开通视频剪辑器的方式提高网站盈利率到20%。 策略: 一、升级网站模式,在视频播放网站的基础上,开创线上视频剪辑器并配备线上视频音频 素材库。让bilibili弹幕网成为可以制作视频展现想法的平台。 (1)用三个月的时间研发线上视频剪辑器(制备视频音频素材库及特效渲染功能)并完成内部测试。第四个月将该功能开放于哔哩哔哩弹幕网。 二、消费群体由热爱二次元的年轻人扩展到到不熟知二次元的广泛人群。 (1)前六个月在哔哩哔哩弹幕网本站投放广告,鼓励用户尝试新功能。并通过漫展摆摊,校园推广等途径使更多人了解到哔哩哔哩线上视频剪辑器。 (2)于第七个月展开创意同人MV大赛,给予名列前茅者资金周边奖励和长期视频剪辑器VIP特权。吸引大批视频剪辑达人关注并且留驻在此,由他们吸引到更多的网友视线。 (3)第十月至以后,线上视频剪辑器发展形势趋于稳定。不断升级功能,将线上剪辑器由B站的一个功能板块升级为专业的线上视频剪辑功能。 3采用前期免费后期付费策略,前期免费,让用户们认识并熟悉视频剪辑器,后期付费,开创更多简单有效的新功能,吸引用户使用。 (1)前六个月所有素材一律免费,吸引用户积极使用。 (2)六个月至十二个月,部分精致素材采取支付硬币(虚拟货币,需用金钱购买或签到获得)购买。硬币开放购买,会员也可以投硬币给up主鼓励。 (5)营销方案的实施计划:1 实施计划:包括产品、价格、渠道和促销 2 工作时间表、花费预算 产品:线上视频剪辑器

BILIBILI礼仪答题套

弹幕礼仪题1套 1 在观看视频中遇到过长弹幕遮挡屏幕时应该? A.发评论抱怨 B.进行举报 C.复制黏贴 D.再看一遍 2 播放一个视频后发现视频内容并不是自己所想的那样,怎么样做是正确的? A.我走了再见 B.发弹幕让别人也别看 C.发辱骂视频的弹幕 D.关闭视频就好了 3 以下哪种弹幕不会被禁言? 我知道你在看 B.和谐吐槽 C.我就是要挡字幕 D.发弹幕求不卡 4 在《不剧透的才是好孩子》中剧透一万次将会? A.学习女子家政 B.成为金牌音乐人 C.被枪毙 D.被哈老乱守护一辈子 5 当观看视频过程中,有人发无关视频的av号时应该? A.举报该弹幕 B.和他一起发 C.自己也在无关视频里发无关av号 D.举报那个视频 6 视频刚好没弹幕,下面哪种弹幕是合适的? A.合适地进行吐槽 B.这片屏幕我承包了 C.霸屏 D.我关弹幕了? 7 看到鬼畜视频,哪种弹幕是合适的?

A.做的不错,支持一下 B.毫无技术含量 C.没有xxx做的好 D.意义不明,没意思 8 在手机评测视频里,哪种弹幕是合适的? A.客观分析手机优缺点 狗滚粗 C.一定是xx的水军吧 默秒全 9 在承包页面哪种弹幕是不合适的? A.感谢承包 B.感谢土豪 C.阵亡者名单 D.好人一生平安 10 在科技区观看视频过程中应该? A.低俗评论与嘲讽 B.司马笑哈哈 C.化身为键盘斗士 D.在评论区进行科普补充 11 Tag的正确用途? A.用于搜索 B.透露结局的 C.人身攻击的 D.调戏的 12 发评论正确的姿势是? A.发广告链接 B.引战吵架 C.讨论与视频有关内容 D.恶意灌水刷楼 13 刷屏弹幕会造成什么影响? A.地球逆向自传 B.太阳西边出来 C.日夜颠倒

bilibili注册会员问题答案

T-34坦克Mod1939配备的主炮口径多大76.2mm 以下哪一部游戏作品不属于Galgame?刺客信条 动画《神奇宝贝》中基拉祈多少年醒来一次,并且每次醒来只维持多少天?1000, 7 《暗黑破坏神2》中,1秒由多少帧组成?25 烧红镍球放入水中会有什么现象有奇妙的声音 “夜阑卧听风吹雨,铁马冰河入梦来”是谁的诗句?陆游 《名侦探柯南》中服部平次是哪里人?大阪 与宫崎骏常年合作的著名音乐家是谁?久石让 IS中的铃是哪国人?中国人 物语系列中忍野忍所拥有的妖刀名号是?心渡 俺はGandom(我就是高达)这句话是谁说的?刹那·F·清英 灼眼的夏娜中女主角的刀名字叫?贽殿遮那 《摇曳百合》中京子喜爱的冰淇淋口味是什么?朗姆酒葡萄干 命运石之门男主角的网名是凤凰院凶真 以下哪部游戏中没出现东风谷早苗?东方神灵庙 《CLANNAD》中的冈崎朋也的配音是谁?中村悠一 《火影忍者》中的第五代火影是谁?千手纲手 桂木桂马的协助者是谁?艾露西琉妮 杀手47的后脑勺上有什么条形码 psycho pass里最美警花是谁? 宜野座伸元 《数码兽大冒险》中第八位被选召的孩子是?八神光/八神嘉儿 雾雨魔理沙的口癖是?DA☆ZE 切丝papa的生日在几月几日?11.11 为动画《魔法少女小圆》中佐仓杏子一角配音的声优是?野中蓝 “月有阴晴圆缺”,用科学的观点看待这件事,原因是?地球绕太阳转动,月球绕地球转动,两者转速不一样,出现偏角,使地球掩住了月球的一部分 《我的朋友很少》中,井上麻里奈为哪个角色配音?三日月夜空 游戏《生化危机1》的第一女主角是谁?吉尔·瓦伦蒂安 回转企鹅罐中一共有多少个ED?出了多少个OST 10,8 身为纯爷们,绝对从不回头看什么爆炸 以下哪一位不是《最终幻想:零式》的CV 钉宫理惠 《大航海时代2》阿兰的特长是什么?会计? 钢之炼金术师FA中角色张梅身边总跟着一只什么动物熊猫 Fate stay night中,士郎击杀Berserker所投影的武器叫?Caliburn石中剑 幽灵行军不是谁的固有结界幽灵行军 初音未来的音源提供者是哪个声优?藤田咲【绝对是猜的 著名电子游戏《上古卷轴》是由哪家公司开发的?Bethesda 石蕗惠汰,羽濑川小鹰,须贺京太郎,大路饼藏四人的共同点[不]包括都是男孩子? 在Mugen中,最高的人物等级是?论外? 圣斗士星矢的看家技能是?天马流星拳 魔兽世界里的联盟英雄吉安娜是什么职业法师 谁被称为日本动画界的黑泽明?宫崎骏 世界已完蛋”来自于哪部作品OP的空耳?潜行吧奈亚子 炮姐的最爱是?呱太

bilibili高级弹幕代码初阶教程

目录 第一章初步了解高级弹幕 1、1 变量 1、2创建文本弹幕对象 1、3 弹幕对象运动得设置 1、4 绘图弹幕对象创建以及设置 1、4、1 颜色样式设置 1、4、1、1 beginFill 指定一种颜色进行填充 1、4、1、2 lineGradientStyle beginGradientFill 指定一种线条样式,填充样式得渐变 1、4、1、3 lineStyle 指定线条样式 1、4、2 图形得绘制 1、4、 2、1 绘制一条直线 1、4、 2、2 绘制一条二次贝塞尔曲线 1、4、 2、3 绘制一个圆 1、4、 2、4 绘制一个椭圆 1、4、 2、5 绘制一个矩形 1、4、 2、5 绘制一个圆角矩形 第二章使用其她工具 2、1Utils 工具库 2、1、1 hue将0360得值映射到色相环 2、1、2 rgb将RGB值映射到色彩值上 2、1、3 formatTimes格式化播放时间 2、1、4 timer 延迟执行函数 2、1、5 interval 定时重复执行函数 2、1、6 distance 计算坐标距离 2、1、7 rand 返回一个前闭后开得整数 2、2 Function 函数得创建与使用 2、3 播放器控制 2、3、1视频时间跳转至 2、3、2 跳转到指定av号指定页视频 第一章初步了解高级弹幕 1、1 第一节变量 废话不多说、我们先来瞧一句最基本得弹幕、 首先一次个关键字就是”var”、该关键字得意思就就是声明一个变量、变量说得简单点就就是在后面得过程中可以给“a”重新赋值、 然后就就是变量名”a”了,这玩意理解成名字就行了、至于关于变量名得规则有些关键字

bilibili代码弹幕初阶入门教程

前言 高级弹幕不难.基础的部分非常简单.只需要你花上一点时间就可以轻松上手.重要的是需要对作品的理解以及对时间的把握.无论什么弹幕只需要一颗有爱的心就够了.弹幕需要是爱与人参.所以我希望大家不要去使用高级弹幕去做不好的事情. 目录 第一章初步了解高级弹幕 变量 创建文本弹幕对象 弹幕对象运动的设置 绘图弹幕对象创建以及设置 1.4.1 颜色样式设置 1.4.1.1 beginFill 指定一种颜色进行填充 1.4.1.2 lineGradientStyle beginGradientFill 指定一种线条样式,填充样式的渐变 1.4.1.3 lineStyle 指定线条样式 1.4.2 图形的绘制 1.4. 2.1 绘制一条直线 1.4. 2.2 绘制一条二次贝塞尔曲线 1.4. 2.3 绘制一个圆 1.4. 2.4 绘制一个椭圆 1.4. 2.5 绘制一个矩形 1.4. 2.5 绘制一个圆角矩形 第二章使用其他工具 工具库 2.1.1 hue将0-360的值映射到色相环 2.1.2 rgb将RGB值映射到色彩值上 2.1.3 formatTimes格式化播放时间 2.1.4 timer 延迟执行函数 2.1.5 interval 定时重复执行函数 2.1.6 distance 计算坐标距离 2.1.7 rand 返回一个前闭后开的整数 Function 函数的创建与使用 播放器控制 2.3.1视频时间跳转至 2.3.2 跳转到指定av号指定页视频

第一章初步了解高级弹幕 第一节变量 废话不多说.我们先来看一句最基本的弹幕. 首先一次个关键字是”var”.该关键字的意思就是声明一个变量.变量说的简单点就是在后面的过程中可以给“a”重新赋值. 然后就是变量名”a”了,这玩意理解成名字就行了.至于关于变量名的规则有些关键字与保留字是不允许创建的.保留字,关键字 第三个是运算符”=”,首先等于号并不是数学中的等于意思.而是给声明的变量a赋值.将等号右边的值赋予给左边.

弹幕网站资料收集与简介

如今天朝四大弹幕网站:ACFUN(简称a站。2007.6。注册用户拥有更多的功能,例如页面下方的留言评论和站内收藏功能。),BILIBILI(简称b站。前身bishi。2009.6.26。2010.1.24更名为bilibili。),吐槽(简称c站),土豆豆泡 国外网站:NICONICO动画 评论系统 对于视频投稿,在视频成功载入后,用户可以通过播放器界面下方选择字幕的模式、颜色、字号和透明度,发表评论。播放时若不使用播放器的“隐藏评论”功能,这些字幕评论可以从视频的右方移动到左方,也可以固定在视频的顶端或底端一段时间。这种字幕评论被称为“弹幕”。NICONICO动画不同的是,由于在AcFun、BILIBILI观看视频无需登录,因此用户可以匿名发送弹幕。这一点可能会造成视频中出现大量无意义弹幕或是广告,甚至遮盖大部分播放区域,以至于无法正常观看视频。播放器界面右边可以设置关键字列表屏蔽指定内容的弹幕。 对于所有投稿,在页面下方有评论区域供注册用户发表留言式评论。评论署名为用户的昵称,右侧显示评论发表的时间。但是同弹幕系统一样存在大量广告,如QQ群推广。 主要问题:版权问题、观看效果问题(用户广告、垃圾评论) 视频弹幕网站,是视频分享网站的一种分支,和普通的视频分享网站不同的是,观看者能在观看视频的过程中发表自己的评论,并将即时在所有观看者观看此视频的该时间点时以滑动而过的字幕显示出来,从而增加了观看者之间的互动性。其主要发布作品偏向于ACG类的作品,如动画原作、相关音乐或个人演奏、二次创作、同人、MAD、恶搞等作品,也有一些从其他视频分享网站转载而来的作品。 鼻祖:NICONICO动画(2006.12.12) 维基百科网址:https://www.sodocs.net/doc/8814252169.html,/wiki/NICONICO%E5%8B%95%E7%95%AB (日语:ニコニコ動画)[1] 是日本Dwango公司的子公司Niwango所赞助提供的联机弹幕影片分享网站,常被简称为niconico或nico等。NICONICO动画与YouTube等影片共享网站相似,但NICONICO动画提供观赏者可在影片上留言并以字幕的形式出现在影片上的功能。原本因为设备、带宽负荷等因素,NICONICO动画规定观赏影片者必须注册,并根据注册顺序开放用户可于全天(24小时)或限制时间(日本时间2:00-19:00)登录,但现在NICONICO动画的用户于全天24小时皆可登录,另外也提供付费的升级服务。截至9月已有超过845万人注册,付费会员超过50万人。至2010年10月12日付费会员数目达到了100万人[2]。免费会员的登录限制已在2008年4月30日完全取消。目前NICONICO动画在日本为第13名访问量的网站,且可借由移动电话来浏览。2007年该网站赢得了日本优秀设计奖,2008年又获得电子艺术大奖。 --------------------------------------------------------------------------------------------------------------------- 维基百科 弹幕 作为其特色,弹幕是这类视频分享网站和其他视频分享网站的区分特征。 一般情况,该类网站能允许观看视频者发表评论或感想,但与普通视频分享网站只在播放器下专用点评区显示不同,其会以滑动字幕的方式实时出现在视频画面上,保证所有观看者都能注意到,从而实现观看者间的互动,甚至可以一起表达对作品的赞叹或批评,增加观看乐

Bilibili播放器特殊弹幕语言

Bilibili播放器特殊弹幕语言 注: 本文档整理自https://www.sodocs.net/doc/8814252169.html, . 不定期追踪更新.暂不完全整理. 今后可能会加入wiki没有的内容. 资料性质. 为编辑简便未能按照学习规律整理,望见谅. 请用户根据自身情况选择阅读/学习顺序. 有整理错误请及时指出. 整体范例/错误代码等请到https://www.sodocs.net/doc/8814252169.html, 自行查阅 联系方式:enex@https://www.sodocs.net/doc/8814252169.html, 更新历史: [11.08.29]增加ECMAScript部分

Bilibili播放器特殊弹幕语言 1.Player - 播放器控制相关 1.1 play public function play():void 开始播放媒体文件 1.2 pause public function pause():void 暂停视频流的回放。如果视频已经暂停,则调用此方法将不会执行任何操作。要在暂时视频后恢复播放,请调用play()。 1.3 seek public function seek(offset:Number):void 搜索与指定位置最接近的关键帧(在视频行业中也称为 I 帧)。关键帧位于从流的开始处算起的偏移位置(以毫秒为单位)。 视频流通常是使用以下两种类型的帧进行编码的:关键帧(或 I 帧)和 P 帧。关键帧包含完整图像;而 P 帧是一个中间帧,它在两个关键帧之间提供额外的视频信息。通常,视频流每 10 到 50 帧中有一个关键帧。 1.3.1 参数 offset:Number—要在视频文件中移动到的时间近似值(以毫秒为单位)。 1.4 jump public function jump(av:String,page:int=1,newwindow:Boolean=false):void 跳至只定AV号指定页的视频 1.4.1 参数 av:String —要跳转的视频(如av120040)。 page:Number —要跳转的视频页数。 newwindow:Boolean —是否打开新窗口进行跳转 1.4.2 示例 Player.jump("av120040",1); 1.5 state state:String [只读] 返回播放器播放状态 1.5.1 返回 此事件具有以下属性: 属性值 playing 播放中 stop 已停止播放 pause 暂停中

相关主题