ImageVerifierCode 换一换
格式:DOCX , 页数:18 ,大小:24.98KB ,
资源ID:5096285      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/5096285.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(bilibili代码弹幕初阶入门教程.docx)为本站会员(b****5)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

bilibili代码弹幕初阶入门教程.docx

1、bilibili代码弹幕初阶入门教程前言 高级弹幕不难.基础的部分非常简单.只需要你花上一点时间就可以轻松上手.重要的是需要对作品的理解以及对时间的把握.无论什么弹幕只需要一颗有爱的心就够了.弹幕需要是爱与人参.所以我希望大家不要去使用高级弹幕去做不好的事情.第一章 初步了解高级弹幕 变量创建文本弹幕对象 弹幕对象运动的设置 绘图弹幕对象创建以及设置1.4.1 颜色样式设置1.4.1.1 beginFill 指定一种颜色进行填充1.4.1.2 lineGradientStyle beginGradientFill 指定一种线条样式,填充样式的渐变1.4.1.3 lineStyle 指定线条样式

2、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视频时间

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

4、声明变量”a”并且初始化其值为数字1.写高级弹幕的时候请严格注意大小写.var 变量名 = 表达式; 第二节 创建文本弹幕对象.首先要知道bili的播放器的大小.像素为单位.正常模式:宽541 高384宽屏模式:宽950 搞528全屏模式与网页全屏模式根据显示器分辨率来确定.在高级弹幕中在 实际弹幕时间会在发布时间轴填写的时间基础上减去约秒.所以请注意时间轴的问题高级弹幕中创建新的文本弹幕对象要用到createComment(,)这个语句.请看实例var a = $.createComment(text ,x:100);该弹幕的意思就是 创建一个变量a并创建一个新弹幕对象赋于a.我们可以这么理

5、解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:

6、100,lifeTime:10,fontsize:20,color:0x666666,alpha:);(注:参数之间以英文逗号区分,最后一个参数结尾无逗号)大家可以预览一下这条弹幕.就是在x轴100,y轴100的位置创建一个内容是text的弹幕.该弹幕生存时间为10秒.字体大小为20号.十六进制颜色为灰色.透明度.那么.到了这里大家应该已经知道怎么去在一个点创建弹幕并设置该弹幕各项参数.接下来就来说一下在创建后各项属性的更改与设置.现在.声明变量c并创建了一个弹幕内容为测试的弹幕.它的x轴为50,y轴为100.例:var c = $.createComment(测试,x:50,y:100);那

7、么如果我们现在需要让他的位置x轴不变y轴变更到50.那么我们这个时候就需要直接更改弹幕的某一个参数.只需要在弹幕后面加上. = 50;(注:更改颜色的语句不是而是.注意大小写)此外还有比较常用的就是旋转3个轴的设置.,rotationY,rotationZ.例: =90;另还有些参数也可以设置.详细参考训练题:1. 声明变量c并创建一条弹幕对象.其内容为空.其属性为X轴为轴为190.生存时间5秒.字体颜色为0xff0000,透明度为.字体大小为15号.2. 更改c的x轴位置为200.透明度更改为1.颜色为0xfff000. 弹幕对象运动的设置在上一个章节中学习了如何创建文本对象和设置文本对象的

8、参数.这次就讲如何让创建的弹幕对象运动起来.这里我们要用到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是这个运动

9、过程所花费的时间.(注:如果在motion里面有起始值并且在motion外也设置的值,那么将显示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).f

10、ontsize:字体大小变换(不推荐使用.字号的变换较明显.rotationX, rotationY, rotationX:旋转x轴,旋转Y轴,旋转Z轴.其中的属性值有:必填 fromValue 起始移动属性值可选 toValue 结束移动属性值 如留空则不移动可选 lifeTime 以秒为单位的移动生存时间 如留空则与整体生存时间一致可选 startDelay 以毫秒为单位的起始移动延时时间(毫秒为单位)可选 easing 详细请看补间效果 可选 repeat 效果重复次数下面我们来看一个相对复杂的例子var c = $.createComment(移动测试,motion: x:fromVa

11、lue:100,toValue:250,lifeTime:3,startDelay:500, y:fromValue:50,toValue:250,lifteTime:3, alpha:fromValue:0,toValue:1,lifeTime:,repeat:6,lifeTime:3);在这个例子里面我们用到了startDelay这个属性.我们把这个代码拆开分了3段来看.首先x轴的是从100移动到250.移动时间3秒.然后起始移动时间是500毫秒.也就是说x轴是在500毫秒后开始移动的.然后是y轴从50移动到250移动时间3秒.最后是透明度从0到1变化时间为秒.重复执行6次.把这三个参数整

12、合在一起就变成了.移动测试从x:100,y:50的位置开始移动,并且透明度最开始是0.由于x有一个起始移动时间.但是y轴跟透明度变化已经开始.所以首先移动测试会先渐入的向下移动.500毫秒后x开始移动这个时候y轴的移动还没有停第一次的透明度改变已经结束.所以x,y轴这个时候是同时移动的.最后结果回是往右下移动并且透明度会重复的从0到1.虽然可以使用repeat这个属性执行重复的操作.但是这个是远远不能满足复杂的移动效果的.然而去创建很多motion也是很麻烦的.这里我就需要用到motionGroup了.motionGroup能执行多个motion连续运动.我们来看一个实例.var c = $.

13、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

14、的时间必须一致.每一次motion之间用英文逗号相隔.最后一个结尾无符号. 绘图弹幕对象创建以及设置使用命令:createShape例子:var g = $.createShape(x:50,y:50,lifeTime:3,alpha:);首先创建一个新的图形对象.里面可以设置的内容同文本对象(位置,生存时间,透明度,运动设置等方法同creatComment).绘图需要使用到的:curveTo 使用当前线条样式绘制一条二次贝塞尔曲线drawCircle 绘制一个圆.drawEllipse 绘制一个椭圆drawRect 绘制一个矩形drawRoundRect 绘制一个圆角矩形lineTo 绘制一

15、条直线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:);这里用的一长

16、串就是设置g的填充颜色以及透明度.两个都是有效的. graphics则是是提供绘图的API.以后使用的时候都会用到这个.后面小括号内就是参数了.注:graphics前面的g必须是创建图形对象的名字.1.4.1.2 lineGradientStyle beginGradientFill 指定一种线条样式,填充样式的渐变 这里需要用到:lineGradientStyle 指定一种线条样式的渐变beginGradientFill 指定一种填充样式的渐变详细请看:链接linear, 0xFF0000, 0x00FF00,0x0000FF,1,1,1,0x00,0x7f,0xff , $.createG

17、radientBox(20, 20, 0, 0, 0),reflect,rgb,0);type 上例参数linear 用于指定要使用哪种渐变类型的 GradientType 类的值: 或 。colors 上例参数0xFF0000, 0x00FF00,0x0000FF 要在渐变中使用的 RGB 十六进制颜色值数组(例如,红色为 0xFF0000,蓝色为 0x0000FF 等等)。alphas 上例参数1,1,1 colors 数组中对应颜色的 alpha 值数组;有效值为 0 到 100。 如果值小于 0,Flash playe将使用 0。 如果值大于 100,Flash Player 将使用

18、100。Ratios 上例参数0x00,0x7f,0xff 颜色分布比率的数组;有效值为 0 到 255。 该值定义 100% 采样的颜色所在位置的宽度百分比。 值 0 表示渐变框中的左侧位置,255 表示渐变框中的右侧位置。 该值表示渐变框中的位置,而不是最终渐变的坐标空间,坐标空间可能比渐变框宽或窄。 为 colors 参数中的每个值指定一个值。matrix 上例参数$.createGradientBox(20, 20, 0, 0, 0) 一个由 Matrix 类定义的转换矩阵。 Matrix 类包括 createGradientBox() 方法,通过该方法可以方便地设置矩阵,以便与 be

19、ginGradientFill() 方法一起使用,亦可使用$.createGradientBox()。createGradientBox(20, 20, 0, 0, 0)中5个数值分别是.width 渐变框的宽度。height 渐变框的高度。rotation 旋转量(以弧度为单位)。tx 沿 x 轴向右平移的距离(以像素为单位)。此值将偏移 width 参数的一半。ty 沿 y 轴向下平移的距离(以像素为单位)。此值将偏移 height 参数的一半。spreadMethod 上例参数reflect 用于指定要使用哪种 spread 方法的interpolationMethod 上例参数rgb

20、用于指定要使用哪个值的 值:linearRGB 或 rgb例如,假设有两种颜色之间的简单线性渐变(spreadMethod 参数设置为 reflect)。 focalPointRatio 上例参数0 一个控制渐变的焦点位置的数字。 0 表示焦点位于中心。 1 表示焦点位于渐变圆的一条边界上。 -1 表示焦点位于渐变圆的另一条边界上。 小于 -1 或大于 1 的值将舍入为 -1 或 1。实际运用:var g = $.createShape(x:50,y:50,lifeTime:5);linear, 0xFF0000, 0x00FF00,0x0000FF,1,1,1,0x00,0x7f,0xff

21、, null,reflect,0);在实际运用中后面几个可以不填写或者值为null但是其中的colors ,alphas, Ratios数组必须存在并且对应数组长度.另Ratios数组内数值必须从小到大1.4.1.3 lineStyle 指定线条样式这里用到:lineStyle 指定线条样式 0x000000, 1, false, vertical,none, miter, 10);thickness 上例参数1 一个整数,以磅为单位表示线条的粗细;有效值为 0 到 255。 如果未指定数字,或者未定义该参数,则不绘制线条。 如果传递的值小于 0,则默认值为 0。 值 0 表示极细的粗细;最大

22、粗细为 255。 如果传递的值大于 255,则默认值为 255。color 上例参数0x000000 线条的十六进制颜色值(例如,红色为 0xFF0000,蓝色为 0x0000FF 等)。 如果未指明值,则默认值为 0x000000(黑色)。 可选。alpha 上例参数1 表示线条颜色的 Alpha 值的数字;有效值为 0 到 1。 如果未指明值,则默认值为 1(纯色)。 如果值小于 0,则默认值为 0。 如果值大于 1,则默认值为 1。pixelHinting 上例参数false 用于指定是否提示笔触采用完整像素的布尔值。scaleMode 上例参数vertical 用于指定要使用哪种缩放模

23、式的 LineScaleMode 类的值:normal - 在缩放对象时总是缩放线条的粗细(默认值)。none - 从不缩放线条粗细。vertical - 如果仅 垂直缩放对象,则不缩放线条粗细。horizontal - *如果仅 水平缩放对象,则不缩放线条粗细。caps 上例参数none 用于指定线条末端处端点类型的 CapsStyle 类的值。 有效值为:none、round 和 square. 如果未指示值,则 Flash 使用圆头端点。joints 上例参数miter JointStyle 类的值,指定用于拐角的连接外观的类型。 有效值为:bevel、miter 和 round。 如果

24、未指示值,则 Flash 使用圆角连接。miterLimit 上例参数10 一个表示将在哪个限制位置切断尖角的数字。 有效值的范围是 1 到 255(超出该范围的值将舍入为 1 或 255)。miterLimit 值: 小于此角度将被切断: 90 度2 60 度4 30 度8 15 度实例:var g = $.createShape(x:100,y:100,lifeTime:5); 0x000000, 1, false, vertical,none, miter, 10);1.4.2 图形的绘制这里用到curveTo 使用当前线条样式绘制一条二次贝塞尔曲线drawCircle 绘制一个圆.dr

25、awEllipse 绘制一个椭圆drawRect 绘制一个矩形drawRoundRect 绘制一个圆角矩形lineTo 使用当前线条样式绘制一条直线moveTo 移动绘画位置到一个点这里先说明绘画位置的问题.使用createShape命令内参数轴的位置为初始绘画位置.使用moveTo命令可以移动当前绘画位置.例移动绘画位置到x轴100,y轴100的位置.1.4.2.1 绘制一条直线命令:lineTo();参数:lineTo(x,y);参数说明:x:相对于父显示对象的水平坐标.y:相对于父显示对象的垂直坐标.例:var g = $.createShape(x:100,y:100,lifeTime

26、:5);以上弹幕看不到直线的?因为绘制线条之前必须设置线条样式或者设置填充样式绘制一个封闭图形.正确的使用方法:var g = $.createShape(x:100,y:100,lifeTime:5); 0x000000, 1, false, vertical,none, miter, 10);说明:该直线绘制直线的位置并不是播放器的x:200,y:200而是相对与createShape中100,100的基础上的x:200,y:200.也就是实际位置在播放器的x:300,y:300.设置填充样式绘制一个封闭图形:var g = $.createShape(x:200,y:200,lifeTi

27、me:5);当需要绘制多条不连续的直线时则需要使用到moveTo();例var g = $.createShape(x:200,y:200,lifeTime:5); 0x0000FF, 1, false, vertical,none, miter, 10);1.4.2 绘制一条二次贝塞尔曲线命令:curveTo();参数:curveTo(controlX, controlY, anchorX, anchorY);参数说明:controlX: 指定控制点相对于父显示对象注册点的水平位置controlY: 指定控制点相对于父显示对象注册点的垂直位置anchorX: 指定下一个锚点相对于父显示对象注

28、册点的水平位置anchorY: 指定下一个锚点相对于父显示对象注册点的垂直位置这里我们先不看例子.先来理解一下什么是控制点,什么是锚点.详细请看图.以这样一个三角来确定绘制曲线.实例:var g = $.createShape(x:100,y:100,lifeTime:5); 0x0000FF, 1, false, vertical,none, miter, 10);1.4.2 绘制一个圆命令:drawCircle ();参数:drawCircle (x, y, radius);参数说明:x: 相对于父显示对象注册点的水平位置y: 相对于父显示对象注册点的垂直位置radius: 圆的半径实例:

29、var g = $.createShape(x:100,y:100,lifeTime:5);1.4.2 绘制一个椭圆命令:drawEllipse ();参数:drawEllipse (x, y, width,height);参数说明:x: 相对于父显示对象注册点的水平位置y: 相对于父显示对象注册点的垂直位置width: 椭圆的宽度height: 椭圆的高度实例:var g = $.createShape(x:100,y:100,lifeTime:5);1.4.2 绘制一个矩形命令:drawRect ();参数:drawRect (x, y, width,height);参数说明:x: 相对于

30、父显示对象注册点的水平位置y: 相对于父显示对象注册点的垂直位置width: 矩形的宽度height: 矩形的高度实例:var g = $.createShape(x:100,y:100,lifeTime:5);1.4.2 绘制一个圆角矩形命令:drawRoundRect ();参数:drawRoundRect (x, y, width,height, ellipseWidth, ellipseHeight);参数说明:x: 相对于父显示对象注册点的水平位置y: 相对于父显示对象注册点的垂直位置width: 矩形的宽度height: 矩形的高度ellipseWidth:绘制圆角的宽度.ellipseHeight:绘制圆角的高度.实例:var g = $.createShape(x:100,y:100,lifeTime:5);至此关于绘制的图像也基本到了一段落.这里需要说明的是在高级弹幕设置参数中都是可以先前设定的变量代替参数.例:var width = 30;var

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1