最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會(huì)員登陸 & 注冊(cè)

[補(bǔ)檔]【人人都是字幕君 代碼彈幕初階入門教程】

2023-02-24 13:55 作者:初代目蔥娘  | 我要投稿

轉(zhuǎn)載:9ch.co/t27615,1-1.html

作者:小包子


正文

編寫:小包子
技術(shù)顧問:面湯拌菜菌

終于坑出來了...雖然我自己找了不少打錯(cuò)的字..但是肯定還有很多.
嘛..問題肯定不少.有問題請(qǐng)跟帖.


前言

高級(jí)彈幕不難.基礎(chǔ)的部分非常簡(jiǎn)單.只需要你花上一點(diǎn)時(shí)間就可以輕松上手.重要的是需要對(duì)作品的理解以及對(duì)時(shí)間的把握.無論什么彈幕只需要一顆有愛的心就夠了.彈幕需要是愛與人參.所以我希望大家不要去使用高級(jí)彈幕去做不好的事情.

?

目錄??

?

第一章?初步了解高級(jí)彈幕

? ?? ? 1.1?變量

? ?? ? 1.2創(chuàng)建文本彈幕對(duì)象

? ?? ? 1.3?彈幕對(duì)象運(yùn)動(dòng)的設(shè)置

? ?? ? 1.4?繪圖彈幕對(duì)象創(chuàng)建以及設(shè)置

? ?? ?? ?? ???1.4.1顏色樣式設(shè)置

? ?? ?? ?? ?? ?? ?? ?1.4.1.1 beginFill?指定一種顏色進(jìn)行填充

? ?? ?? ?? ?? ?? ?? ?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?繪制一個(gè)圓

? ?? ?? ?? ?? ?? ?? ?1.4.2.4?繪制一個(gè)橢圓

? ?? ?? ?? ?? ?? ?? ?1.4.2.5?繪制一個(gè)矩形

? ?? ?? ?? ?? ?? ?? ?1.4.2.5?繪制一個(gè)圓角矩形

?

第二章?使用其他工具

? ?? ? 2.1Utils?工具庫(kù)

? ?? ?? ?? ???2.1.1 hue將0-360的值映射到色相環(huán)

? ?? ?? ?? ???2.1.2 rgb將RGB值映射到色彩值上

? ?? ?? ?? ???2.1.3 formatTimes格式化播放時(shí)間

? ?? ?? ?? ???2.1.4 timer?延遲執(zhí)行函數(shù)

? ?? ?? ?? ???2.1.5 interval?定時(shí)重復(fù)執(zhí)行函數(shù)

? ?? ?? ?? ???2.1.6 distance?計(jì)算坐標(biāo)距離

? ?? ?? ?? ???2.1.7 rand?返回一個(gè)前閉后開的整數(shù)

? ?? ? 2.2 Function?函數(shù)的創(chuàng)建與使用

? ?? ? 2.3?播放器控制

? ?? ?? ?? ???2.3.1視頻時(shí)間跳轉(zhuǎn)至

? ?? ?? ?? ???2.3.2跳轉(zhuǎn)到指定av號(hào)指定頁視頻


第一章?初步了解高級(jí)彈幕

1.1 第一節(jié) 變量

廢話不多說.我們先來看一句最基本的彈幕.

首先一次個(gè)關(guān)鍵字是”var”.該關(guān)鍵字的意思就是聲明一個(gè)變量.變量說的簡(jiǎn)單點(diǎn)就是在后面的過程中可以給 “a” 重新賦值.
然后就是變量名”a”了,這玩意理解成名字就行了.至于關(guān)于變量名的規(guī)則有些關(guān)鍵字與保留字是不允許創(chuàng)建的.保留字,關(guān)鍵字
第三個(gè)是運(yùn)算符”=”,首先等于號(hào)并不是數(shù)學(xué)中的等于意思.而是給聲明的變量a賦值.將等號(hào)右邊的值賦予給左邊.
第四個(gè)”1”就是一個(gè)值了.結(jié)尾的分號(hào)表示該語句結(jié)束.


看到這里相信大家已經(jīng)對(duì)這句彈幕有了基礎(chǔ)的了解.這句話的意思就是:

聲明變量”a”并且初始化其值為數(shù)字1.

寫高級(jí)彈幕的時(shí)候請(qǐng)嚴(yán)格注意大小寫.



1.2 第二節(jié) 創(chuàng)建文本彈幕對(duì)象.

首先要知道bili的播放器的大小.像素為單位.

在高級(jí)彈幕中在 實(shí)際彈幕時(shí)間會(huì)在發(fā)布時(shí)間軸填寫的時(shí)間基礎(chǔ)上減去約0.2.所以請(qǐng)注意時(shí)間軸的問題

?

高級(jí)彈幕中創(chuàng)建新的文本彈幕對(duì)象要用到createComment("",{})這個(gè)語句.請(qǐng)看實(shí)例

該彈幕的意思就是 創(chuàng)建一個(gè)變量a并創(chuàng)建一個(gè)新彈幕對(duì)象賦于a.

我們可以這么理解createComment.他的括號(hào)內(nèi)有2個(gè)參數(shù).”text”是彈幕內(nèi)容.{x:100}是該彈幕參數(shù)x軸上的位置是100.
當(dāng)然括號(hào)內(nèi)的不可能只有x這一個(gè)參數(shù).我們可以用到的有.

那么我們來定義一個(gè)稍微復(fù)雜點(diǎn)的高級(jí)彈幕.

例:

(注:參數(shù)之間以英文逗號(hào)區(qū)分,最后一個(gè)參數(shù)結(jié)尾無逗號(hào))

大家可以預(yù)覽一下這條彈幕.就是在x軸100,y軸100的位置創(chuàng)建一個(gè)內(nèi)容是text的彈幕.該彈幕生存時(shí)間為10秒.字體大小為20號(hào).十六進(jìn)制顏色為灰色.透明度0.8.

那么.到了這里大家應(yīng)該已經(jīng)知道怎么去在一個(gè)點(diǎn)創(chuàng)建彈幕并設(shè)置該彈幕各項(xiàng)參數(shù).
接下來就來說一下在創(chuàng)建后各項(xiàng)屬性的更改與設(shè)置.

現(xiàn)在.聲明變量c并創(chuàng)建了一個(gè)彈幕內(nèi)容為"測(cè)試"的彈幕.它的x軸為50,y軸為100.
例:

那么如果我們現(xiàn)在需要讓他的位置x軸不變y軸變更到50.那么我們這個(gè)時(shí)候就需要直接更改彈幕的某一個(gè)參數(shù).只需要在彈幕后面加上.

(注:更改顏色的語句不是c.color而是c.textColor.注意大小寫)

此外還有比較常用的就是旋轉(zhuǎn)3個(gè)軸的設(shè)置.
c.rotationX,rotationY,rotationZ.
例:

設(shè)置字體:

設(shè)置光昏效果

createGlowFilter?參數(shù)color?上例參數(shù)?0xFF0000??光暈顏色,采用十六進(jìn)制格式?0xRRGGBB。默認(rèn)值為?0xFF0000。
alpha?上例參數(shù)?1??顏色的?Alpha?透明度值。有效值為?0?到?1。例如,0.25?設(shè)置透明度值為?25%。
blurX?上例參數(shù)?16??水平模糊量。有效值為?0?到?255(浮點(diǎn))。2?的乘方值(如?2、4、8、16?和?32)經(jīng)過優(yōu)化,呈示速度比其他值更快。
blurY?上例參數(shù)?17??垂直模糊量。有效值為?0?到?255(浮點(diǎn))。2?的乘方值(如?2、4、8、16?和?32)經(jīng)過優(yōu)化,呈示速度比其他值更快。
strength?上例參數(shù)?2??印記或跨頁的強(qiáng)度。該值越高,壓印的顏色越深,而且發(fā)光與背景之間的對(duì)比度也越強(qiáng)。有效值為?0?到?255。
quality?上例參數(shù)?1??應(yīng)用濾鏡的次數(shù)。使用?BitmapFilterQuality?常量:low,middle,high
inner?上例參數(shù)false??指定發(fā)光是否為內(nèi)側(cè)發(fā)光。值?true?指定發(fā)光是內(nèi)側(cè)發(fā)光。值?false?指定發(fā)光是外側(cè)發(fā)光(對(duì)象外緣周圍的發(fā)光)。
knockout?上例參數(shù)true? ?指定對(duì)象是否具有挖空效果。值為?true?將使對(duì)象的填充變?yōu)橥该鳎@示文檔的背景顏色。

設(shè)置字體無黑邊:

另還有些參數(shù)也可以設(shè)置.詳細(xì)參考(死鏈 wiki.bilibili.tv/wiki/CommentField)

?

?

1.3?彈幕對(duì)象運(yùn)動(dòng)的設(shè)置

?

在上一個(gè)章節(jié)中學(xué)習(xí)了如何創(chuàng)建文本對(duì)象和設(shè)置文本對(duì)象的參數(shù).這次就講如何讓創(chuàng)建的彈幕對(duì)象運(yùn)動(dòng)起來.這里我們要用到motion.下面請(qǐng)看一個(gè)例子.

讓我們來分析這條彈幕.

首先上已經(jīng)了解過了createComment的用法.那么我直接來看到多出來的這個(gè)屬性motion.

?在這里面其中x為需要移動(dòng)的參數(shù).x中的fromValue是x的起始位置toValue是結(jié)束位置.lifeTime是這個(gè)運(yùn)動(dòng)過程所花費(fèi)的時(shí)間.(注:如果在motion里面x.y有起始值并且在motion外也設(shè)置x.y的值,那么將顯示motion里面的設(shè)置位置)

此外motion支持多屬性同時(shí)運(yùn)動(dòng).

例:

這次除了移動(dòng)x軸還添加了一個(gè)透明度從0到1的變化.

下面我們說一下在motion中有哪些是可以做變化的.

其中的屬性值有:

下面我們來看一個(gè)相對(duì)復(fù)雜的例子

在這個(gè)例子里面我們用到了startDelay這個(gè)屬性.我們把這個(gè)代碼拆開分了3段來看.

?

首先x軸的是從100移動(dòng)到250.移動(dòng)時(shí)間3秒.然后起始移動(dòng)時(shí)間是500毫秒.也就是說x軸是在500毫秒后開始移動(dòng)的.

然后是y軸從50移動(dòng)到250移動(dòng)時(shí)間3秒.

最后是透明度從0到1變化時(shí)間為0.5秒.重復(fù)執(zhí)行6次.

?

把這三個(gè)參數(shù)整合在一起就變成了.移動(dòng)測(cè)試從x:100,y:50的位置開始移動(dòng),并且透明度最開始是0.由于x有一個(gè)起始移動(dòng)時(shí)間.但是y軸跟透明度變化已經(jīng)開始.所以首先"移動(dòng)測(cè)試"會(huì)先漸入的向下移動(dòng).500毫秒后x開始移動(dòng)這個(gè)時(shí)候y軸的移動(dòng)還沒有停第一次的透明度改變已經(jīng)結(jié)束.所以x,y軸這個(gè)時(shí)候是同時(shí)移動(dòng)的.最后結(jié)果回是往右下移動(dòng)并且透明度會(huì)重復(fù)的從0到1..

?

雖然可以使用repeat這個(gè)屬性執(zhí)行重復(fù)的操作.但是這個(gè)是遠(yuǎn)遠(yuǎn)不能滿足復(fù)雜的移動(dòng)效果的.然而去創(chuàng)建很多motion也是很麻煩的.這里我就需要用到motionGroup了.motionGroup能執(zhí)行多個(gè)motion連續(xù)運(yùn)動(dòng).

我們來看一個(gè)實(shí)例.

以上彈幕就是使用一個(gè)組將兩個(gè)移動(dòng)連接在了一起→↓.需要注意的是motionGroup的冒號(hào)后面的是英文中括號(hào).并且每一次移動(dòng)包括透明度都最好加上lifeTime并且每一個(gè)motion中的lifeTime的時(shí)間必須一致..每一次motion之間用英文逗號(hào)相隔.最后一個(gè)結(jié)尾無符號(hào).

?

?

1.4?繪圖彈幕對(duì)象創(chuàng)建以及設(shè)置

?

使用命令:createShape

例:

首先創(chuàng)建一個(gè)新的圖形對(duì)象.里面可以設(shè)置的內(nèi)容同文本對(duì)象(位置,生存時(shí)間,透明度,運(yùn)動(dòng)設(shè)置等方法同creatComment).

?

繪圖需要使用到的:

curveTo? ??使用當(dāng)前線條樣式繪制一條二次貝塞爾曲線

drawCircle? ? ?繪制一個(gè)圓.

drawEllipse? ??繪制一個(gè)橢圓

drawRect? ??繪制一個(gè)矩形

drawRoundRect? ??繪制一個(gè)圓角矩形

lineTo? ??繪制一條直線

beginFill? ??指定一種顏色進(jìn)行填充

lineStyle? ??指定線條樣式

lineGradientStyle? ??指定一種線條樣式的漸變

beginGradientFill? ??指定一種填充樣式的漸變

我們來一個(gè)個(gè)的來了解.首先要了解的并不是怎么去繪制而是設(shè)定繪制的樣式

?

?

1.4.1顏色樣式設(shè)置

1.4.1.1 beginFill指定一種顏色進(jìn)行填充

這里用到:

beginFill? ??指定一種顏色進(jìn)行填充

在beginFill里面有2個(gè)參數(shù).第一個(gè)是十六進(jìn)制的顏色,第二個(gè)是填充的透明度(可選).

例:

這里用的一長(zhǎng)串就是設(shè)置g的填充顏色以及透明度.兩個(gè)都是有效的.

graphics則是是提供繪圖的API.以后使用的時(shí)候都會(huì)用到這個(gè).后面小括號(hào)內(nèi)就是參數(shù)了.注:graphics前面的g必須是創(chuàng)建圖形對(duì)象的名字

?

1.4.1.2 lineGradientStyle beginGradientFill?指定一種線條樣式,填充樣式的漸變

這里需要用到:

lineGradientStyle??指定一種線條樣式的漸變

beginGradientFill??指定一種填充樣式的漸變

詳細(xì)請(qǐng)看:鏈接(死鏈 wiki.bilibili.tv/wiki/Display.createGraphic.graphics#lineGradientStyle)

type?上例參數(shù)"linear"
用于指定要使用哪種漸變類型的?GradientType?類的值:GradientType.LINEAR?或?GradientType.RADIAL。

colors?上例參數(shù)[0xFF0000, 0x00FF00,0x0000FF]
要在漸變中使用的?RGB?十六進(jìn)制顏色值數(shù)組(例如,紅色為?0xFF0000,藍(lán)色為?0x0000FF?等等)。

alphas?上例參數(shù)[1,1,1]? ?

colors?數(shù)組中對(duì)應(yīng)顏色的?alpha?值數(shù)組;有效值為?0?到?100。?如果值小于?0,F(xiàn)lash?playe將使用?0。?如果值大于100,F(xiàn)lash Player?將使用?100。

Ratios?上例參數(shù)[0x00,0x7f,0xff]
顏色分布比率的數(shù)組;有效值為?0?到?255。該值定義?100%?采樣的顏色所在位置的寬度百分比。?值?0?表示漸變框中的左側(cè)位置,255表示漸變框中的右側(cè)位置。?該值表示漸變框中的位置,而不是最終漸變的坐標(biāo)空間,坐標(biāo)空間可能比漸變框?qū)捇蛘?為?colors?參數(shù)中的每個(gè)值指定一個(gè)值。

matrix?上例參數(shù)$.createGradientBox(20, 20, 0, 0, 0)
一個(gè)由?Matrix?類定義的轉(zhuǎn)換矩陣。?Matrix?類包括?createGradientBox()?方法,通過該方法可以方便地設(shè)置矩陣,以便與?beginGradientFill()?方法一起使用,亦可使用$.createGradientBox()。

createGradientBox(20, 20, 0, 0, 0)中5個(gè)數(shù)值分別是.

spreadMethod?上例參數(shù)"reflect"
用于指定要使用哪種?spread?方法的

interpolationMethod?上例參數(shù)"rgb"
用于指定要使用哪個(gè)值的?值:linearRGB?或?rgb

例如,假設(shè)有兩種顏色之間的簡(jiǎn)單線性漸變(spreadMethod?參數(shù)設(shè)置為?reflect)。

focalPointRatio?上例參數(shù)"0"
一個(gè)控制漸變的焦點(diǎn)位置的數(shù)字。?0?表示焦點(diǎn)位于中心。?1?表示焦點(diǎn)位于漸變圓的一條邊界上。?-1?表示焦點(diǎn)位于漸變圓的另一條邊界上。?小于?-1?或大于?1?的值將舍入為?-1?或?1。

實(shí)際運(yùn)用:

在實(shí)際運(yùn)用中后面幾個(gè)可以不填寫或者值為null但是其中的colors ,alphas, Ratios數(shù)組必須存在并且對(duì)應(yīng)數(shù)組長(zhǎng)度.另Ratios數(shù)組內(nèi)數(shù)值必須從小到大

?

1.4.1.3 lineStyle?指定線條樣式

這里用到:

lineStyle? ??指定線條樣式

thickness?上例參數(shù)1

一個(gè)整數(shù),以磅為單位表示線條的粗細(xì);有效值為?0?到?255。如果未指定數(shù)字,或者未定義該參數(shù),則不繪制線條。?如果傳遞的值小于?0,則默認(rèn)值為?0。?值?0?表示極細(xì)的粗細(xì);最大粗細(xì)為255。?如果傳遞的值大于?255,則默認(rèn)值為?255。

color?上例參數(shù)0x000000
線條的十六進(jìn)制顏色值(例如,紅色為?0xFF0000,藍(lán)色為?0x0000FF?等)。?如果未指明值,則默認(rèn)值為?0x000000(黑色)。?可選。

alpha?上例參數(shù)1
表示線條顏色的?Alpha?值的數(shù)字;有效值為?0?到?1。如果未指明值,則默認(rèn)值為?1(純色)。?如果值小于?0,則默認(rèn)值為?0。?如果值大于?1,則默認(rèn)值為?1。

pixelHinting?上例參數(shù)false
用于指定是否提示筆觸采用完整像素的布爾值。

scaleMode?上例參數(shù)"vertical"
用于指定要使用哪種縮放模式的?LineScaleMode?類的值:

caps?上例參數(shù)"none"
用于指定線條末端處端點(diǎn)類型的?CapsStyle?類的值。?有效值為:none、round?和?square.?如果未指示值,則?Flash?使用圓頭端點(diǎn)。

joints?上例參數(shù)"miter"??JointStyle?類的值,指定用于拐角的連接外觀的類型。?有效值為:bevel、miter?和?round。?如果未指示值,則?Flash?使用圓角連接。

miterLimit?上例參數(shù)10
一個(gè)表示將在哪個(gè)限制位置切斷尖角的數(shù)字。?有效值的范圍是?1?到?255(超出該范圍的值將舍入為?1?或?255)。

miterLimit?值:小于此角度將被切斷

例:

?

1.4.2圖形的繪制

這里用到

curveTo? ??使用當(dāng)前線條樣式繪制一條二次貝塞爾曲線

drawCircle? ??繪制一個(gè)圓.

drawEllipse? ??繪制一個(gè)橢圓

drawRect? ??繪制一個(gè)矩形

drawRoundRect? ??繪制一個(gè)圓角矩形

lineTo? ??使用當(dāng)前線條樣式繪制一條直線

moveTo? ??移動(dòng)繪畫位置到一個(gè)點(diǎn)


這里先說明繪畫位置的問題.

使用createShape命令內(nèi)參數(shù)x.y軸的位置為初始繪畫位置.

使用moveTo命令可以移動(dòng)當(dāng)前繪畫位置.

例:

移動(dòng)繪畫位置到x軸100,y軸100的位置.

?

1.4.2.1?繪制一條直線

命令:lineTo();

參數(shù):lineTo(x,y);

參數(shù)說明:

x:相對(duì)于父顯示對(duì)象的水平坐標(biāo)

y:相對(duì)于父顯示對(duì)象的垂直坐標(biāo)

例:

以上彈幕看不到直線的?因?yàn)槔L制線條之前必須設(shè)置線條樣式或者設(shè)置填充樣式繪制一個(gè)封閉圖形.

正確的使用方法:

說明:該直線繪制直線的位置并不是播放器的x:200,y:200而是相對(duì)與createShape中100,100的基礎(chǔ)上的x:200,y:200.也就是實(shí)際位置在播放器的x:300,y:300.

設(shè)置填充樣式繪制一個(gè)封閉圖形:

當(dāng)需要繪制多條不連續(xù)的直線時(shí)則需要使用到moveTo();

例:

?

1.4.2.2?繪制一條二次貝塞爾曲線

命令:curveTo();

參數(shù):curveTo(controlX,controlY,anchorX,?anchorY);

參數(shù)說明:

controlX:?指定控制點(diǎn)相對(duì)于父顯示對(duì)象注冊(cè)點(diǎn)的水平位置

controlY: 指定控制點(diǎn)相對(duì)于父顯示對(duì)象注冊(cè)點(diǎn)的垂直位置

anchorX:?指定下一個(gè)錨點(diǎn)相對(duì)于父顯示對(duì)象注冊(cè)點(diǎn)的水平位置

anchorY:?指定下一個(gè)錨點(diǎn)相對(duì)于父顯示對(duì)象注冊(cè)點(diǎn)的垂直位置


這里我們先不看例子.先來理解一下什么是控制點(diǎn),什么是錨點(diǎn).詳細(xì)請(qǐng)看圖.

以這樣一個(gè)三角來確定繪制曲線.

例:

?

1.4.2.3?繪制一個(gè)圓

命令:drawCircle ();

參數(shù):drawCircle (x,y,radius);

參數(shù)說明:

x:?相對(duì)于父顯示對(duì)象注冊(cè)點(diǎn)的水平位置

y:?相對(duì)于父顯示對(duì)象注冊(cè)點(diǎn)的垂直位置

radius:?圓的半徑

例:

?

1.4.2.4?繪制一個(gè)橢圓

命令:drawEllipse();

參數(shù):drawEllipse(x,y,width,height);

參數(shù)說明:

x:?相對(duì)于父顯示對(duì)象注冊(cè)點(diǎn)的水平位置

y:?相對(duì)于父顯示對(duì)象注冊(cè)點(diǎn)的垂直位置

width:橢圓的寬度

height:橢圓的高度

例:

?

1.4.2.5?繪制一個(gè)矩形

命令:drawRect ();

參數(shù):drawRect (x,y,width,height);

參數(shù)說明:

x:?相對(duì)于父顯示對(duì)象注冊(cè)點(diǎn)的水平位置

y:?相對(duì)于父顯示對(duì)象注冊(cè)點(diǎn)的垂直位置

width:矩形的寬度

height:矩形的高度

例:


1.4.2.6?繪制一個(gè)圓角矩形

命令:drawRoundRect();

參數(shù):drawRoundRect(x,y,width,height,ellipseWidth,ellipseHeight);

參數(shù)說明:

x:?相對(duì)于父顯示對(duì)象注冊(cè)點(diǎn)的水平位置

y:?相對(duì)于父顯示對(duì)象注冊(cè)點(diǎn)的垂直位置

width:矩形的寬度

height:矩形的高度

ellipseWidth:繪制圓角的寬度.

ellipseHeight:繪制圓角的高度.

例:

至此關(guān)于繪制的圖像也基本到了一段落.這里需要說明的是在高級(jí)彈幕設(shè)置參數(shù)中都是可以先前設(shè)定的變量代替參數(shù).

例:

這樣寫是完全沒問題.文本對(duì)象也是完全可以這么使用的.

至此高級(jí)彈幕里最最基礎(chǔ)的部分也已經(jīng)告了一段落.接下來的教程中講重點(diǎn)講創(chuàng)建后具體使用方面的知識(shí).怎么運(yùn)用其他工具讓高級(jí)彈幕更上一層樓

第二章?使用其他工具

2.1Utils?工具庫(kù)

使用命令:

hue:將0-360的值映射到色相環(huán)上

rgb:將RGB值映射到色彩值上

formatTimes:格式化播放時(shí)間

delay:延遲執(zhí)行函數(shù)

interval:定時(shí)執(zhí)行函數(shù)

distance:計(jì)算座標(biāo)距離

rand:rand返回一個(gè)偽隨機(jī)數(shù)?n,其中?min <= n < max。

?

2.1.1hue0-360的值映射到色相環(huán)上

命令:Utils.hue();

參數(shù):Utils.hue(v);

參數(shù)說明:

v:?取值范圍:一個(gè)正整數(shù). 0-360,如果超過360將自動(dòng)換成除以360后的余數(shù).例361等同與1;

例:

?

2.1.2?rgbRGB值映射到色彩值上

命令:Utils.rgb();

參數(shù):Utils.rgb(r,g,b);

參數(shù)說明:

r: RGB中紅色的值.取值范圍:一個(gè)正整數(shù),0-255,如果超過255將自動(dòng)換成除以255后的余數(shù).

g: RGB中綠色的值.同上

b:?RGB中藍(lán)色的值.同上

例:

?

2.1.3?formatTimes格式化播放時(shí)間

命令:Utils.formatTimes ();

參數(shù):Utils.formatTimes (time);

參數(shù)說明:

time:?一個(gè)數(shù)字.格式化后將變成?00:00的文本形式.

例:

?

2.1.4?timer?延遲執(zhí)行函數(shù)

命令:timer ();

參數(shù):timer (f,time);

參數(shù)說明:

f:?要延遲執(zhí)行的函數(shù).

time:?延遲執(zhí)行的時(shí)間.以毫秒為單位.

例:

?

2.1.5?interval?定時(shí)重復(fù)執(zhí)行函數(shù)

命令:interval ();

參數(shù):interval(f,time,times);

參數(shù)說明:

f:?要延遲執(zhí)行的函數(shù).

time:?延遲執(zhí)行的時(shí)間.以毫秒為單位.

times:執(zhí)行函數(shù)的次數(shù).

例:

說明:每隔1秒繪制的圓向右移40像素.

?

2.1.6?distance?計(jì)算坐標(biāo)距離

命令:Utils.distance ();

參數(shù):Utils.distance(x1,y1,x2,y2);

參數(shù)說明:

x1:?計(jì)算起始坐標(biāo)x軸

y1:?計(jì)算起始坐標(biāo)y軸

x2:?計(jì)算結(jié)束坐標(biāo)x軸

y2:?計(jì)算結(jié)束坐標(biāo)y軸

例:

創(chuàng)建新的Point(一個(gè)點(diǎn)).

命令:$.createPoint();

參數(shù):$.createPoint(x,y);

參數(shù)說明:

x:?坐標(biāo)x軸

y:?坐標(biāo)y軸

例:

解釋:創(chuàng)建2個(gè)新的Point對(duì)象并計(jì)算坐標(biāo)距離.并繪制一條長(zhǎng)為此距離的直線.

?

2.1.7?rand?返回一個(gè)前閉后開的整數(shù)

命令:Utils.rand ();

參數(shù):Utils.rand(min,max);

參數(shù)說明:

min:?偽隨機(jī)數(shù)最小值

max:?偽隨機(jī)數(shù)最大值

例:

說明:該彈幕繪制了一個(gè)圓,然后每隔1秒重復(fù)5次將該圓相對(duì)x軸位置移動(dòng)到30-500中隨機(jī)位置.

?

?

2.2 Function?函數(shù)的創(chuàng)建與使用

?

函數(shù)在高級(jí)彈幕中有著至關(guān)緊要的作用.在今后的運(yùn)用中是一個(gè)必不可少的存在.

函數(shù)就是定義一套對(duì)應(yīng)規(guī)則.使得集合A的元素對(duì)應(yīng)到另一個(gè)集合B的唯一元素.

?

函數(shù)具有一下特性:

1.擁有輸入和輸出兩組數(shù)據(jù).

2.函數(shù)定義了一套對(duì)應(yīng)規(guī)則,該規(guī)則是固定的,也就是函數(shù)的行為是固定的.

3.某一輸出值擁有唯一的輸出值.

?

我們下面直接來看函數(shù)語句在高級(jí)彈幕中的用法.

上面就是一個(gè)最基本的函數(shù).在每函數(shù)語句中包含著3個(gè)要素:

函數(shù)名上例參數(shù)fname

用來作為函數(shù)引用標(biāo)識(shí).

參數(shù)上例參數(shù)(pa1,pa2
一組用小括號(hào)括起來的一組數(shù)據(jù),參數(shù)之間用逗號(hào)分隔.函數(shù)可有空參數(shù).

函數(shù)體上例參數(shù){trace(pa1+pa2);}

是實(shí)現(xiàn)函數(shù)功能的代碼,代碼用大括號(hào)括起來,在使用函數(shù)時(shí)將執(zhí)行代碼.

?

那么這個(gè)例子中的函數(shù)就是定義一個(gè)名為fname的函數(shù).函數(shù)體是輸出pa1+pa2.

另在函數(shù)的里面是可以創(chuàng)建函數(shù)的.但是在函數(shù)內(nèi)創(chuàng)建的函數(shù)不能與外面的函數(shù)重名.

?

那么我們來看下面這個(gè)例子:

上面就完整的寫明了函數(shù)的創(chuàng)建到使用.這里使用函數(shù)更加簡(jiǎn)便的使用了創(chuàng)建文本彈幕.方便多次使用.

這里需要注意的是在函數(shù)里面創(chuàng)建的變量是不能在函數(shù)外面使用的.更多詳細(xì)的內(nèi)容會(huì)在以后說到.

?

?

2.3?播放器控制

使用命令:

Player.seek();

Player.jump(,);

?

2.3.1視頻時(shí)間跳轉(zhuǎn)至

命令:Player.seek();

參數(shù):Player.seek(offset);

參數(shù)說明:

offset:要在視頻文件中移動(dòng)到的時(shí)間近似值(以毫秒為單位).

詳細(xì)請(qǐng)看(死鏈 wiki.bilibili.tv/wiki/Player#seek)

例:

?

2.3.2跳轉(zhuǎn)到指定av號(hào)指定頁視頻

命令:Player.jump();

參數(shù):Player.jump(av,page,.newwindow);

參數(shù)說明:

av:要跳轉(zhuǎn)視頻的av號(hào)碼.

page:要跳轉(zhuǎn)視頻的第幾頁.

newwindow:是否打開新窗口跳轉(zhuǎn)

? ? 值為 flase為不打開.值為true打開.不填寫默認(rèn)值打開

例:

.
在這里只說明了基礎(chǔ)的運(yùn)用.有時(shí)間我會(huì)寫進(jìn)階運(yùn)用方法.
如果有什么不懂的可以把問題發(fā)送到我郵箱301082782@qq.com?.
其實(shí)說實(shí)話我也是一個(gè)半吊子.教程可能有很多地方有問題.所以歡迎大家積極的指出來.

那么~高級(jí)彈幕初階教程到此結(jié)束

正文完,部分修改

好復(fù)雜啊。。。只能看懂一部分QAQ

[補(bǔ)檔]【人人都是字幕君 代碼彈幕初階入門教程】的評(píng)論 (共 條)

分享到微博請(qǐng)遵守國(guó)家法律
古交市| 高阳县| 驻马店市| 象山县| 封开县| 庆元县| 成武县| 昆明市| 富川| 商城县| 遵义县| 甘孜| 桂阳县| 三江| 宜川县| 清原| 瑞金市| 盱眙县| 额尔古纳市| 石首市| 安乡县| 弋阳县| 梨树县| 盖州市| 保康县| 呼玛县| 体育| 临洮县| 皋兰县| 万载县| 纳雍县| 桂东县| 郓城县| 辰溪县| 格尔木市| 昭平县| 黄陵县| 鄂尔多斯市| 广宁县| 泉州市| 黎川县|