两个人的电影免费视频_国产精品久久久久久久久成人_97视频在线观看播放_久久这里只有精品777_亚洲熟女少妇二三区_4438x8成人网亚洲av_内谢国产内射夫妻免费视频_人妻精品久久久久中国字幕

一種速度可變彈幕的彈道分配方法與流程

文檔序號:12279839閱讀:539來源:國知局
一種速度可變彈幕的彈道分配方法與流程

本發(fā)明屬于彈幕彈道的計算及分配技術(shù)領(lǐng)域,更具體地,涉及一種速度可變彈幕的彈道分配方法。



背景技術(shù):

彈幕越來越貼近人們的生活,彈幕在各種網(wǎng)絡(luò)互動平臺中無處不在?,F(xiàn)有的彈幕播放形式包括:播放速度固定的彈幕、播放速度可變但可能發(fā)生重疊的彈幕、播放速度可變但播放速度隨機且用戶無法設(shè)置的彈幕;上述這些彈幕播放形式,用戶無法對彈幕的播放速度進行調(diào)整,不同速度的彈幕可能會相互重疊而降低了彈幕的觀賞性。



技術(shù)實現(xiàn)要素:

針對現(xiàn)有技術(shù)的以上缺陷或改進需求,本發(fā)明提供了一種速度可變彈幕的彈道分配方法,其目的在于通過對彈幕的彈道進行分配,解決由于彈幕集中地出現(xiàn)在一個彈道而導(dǎo)致的彈幕在同一彈道上重疊的問題。

為實現(xiàn)上述目的,按照本發(fā)明的一個方面,提供了一種速度可變彈幕的彈道分配方法,包括如下步驟:

(1)根據(jù)屏幕高度與用戶設(shè)置的彈幕高度確定屏幕的彈道數(shù)目;

(2)根據(jù)彈道是否被彈幕占用來設(shè)置彈道的狀態(tài),包括占用狀態(tài)和空閑狀態(tài);

(3)根據(jù)彈幕高度以及彈幕數(shù)量確定第i個彈道相對于屏幕的高度;彈道i相對于屏幕的高度=(i-1)*彈幕的高度;

(4)根據(jù)彈幕可移動距離、彈幕長度以及用戶設(shè)置的運動頻率確定彈幕的速度;

(5)根據(jù)彈道狀態(tài)和彈幕高度為新增彈幕分配彈道。

優(yōu)選地,上述速度可變彈幕的彈道分配方法,其屏幕的彈道數(shù)目=屏幕高度/彈幕高度;

其中,屏幕高度為根據(jù)屏幕硬件確定的常數(shù),彈幕高度由用戶設(shè)置;如此根據(jù)實際所采用的屏幕的高度確定彈幕數(shù)目,使得彈幕的數(shù)目與屏幕大小相適應(yīng)。

優(yōu)選地,上述速度可變彈幕的彈道分配方法,將各彈道的初始狀態(tài)均設(shè)置為“空閑”;

當某個彈道上有彈幕發(fā)射時,則將該彈道的狀態(tài)設(shè)置為“占用”;

當狀態(tài)為“占用”的彈道上所運動的彈幕的右邊界離開屏幕的右邊界,則將該彈道的狀態(tài)設(shè)置為“空閑”。

優(yōu)選地,上述速度可變彈幕的彈道分配方法;彈道的“空閑”狀態(tài),是指該彈道上沒有彈幕或者該彈道上彈幕的右邊界已經(jīng)離開屏幕的右邊界的狀態(tài);

彈道的“占用”狀態(tài),是指該彈道上有彈幕且彈幕的右邊界尚未離開屏幕右邊界的狀態(tài);

優(yōu)選地,上述速度可變彈幕的彈道分配方法,彈幕的速度=(可移動距離+彈幕的長度)/運動頻率;

其中,如果該條彈幕前面沒有其他彈幕,則可移動距離為該條彈幕左邊界與屏幕左邊界之間的間距;若該條彈幕前面有其他彈幕,則可移動距離為該條彈幕左邊界與前一條彈幕右邊界之間的間距;

彈幕的長度=彈幕中單個字符長度*彈幕個數(shù);運動頻率由用戶設(shè)置。

優(yōu)選地,上述速度可變彈幕的彈道分配方法,為新增彈幕分配彈道的方法,包括如下子步驟:

(5.1)檢測所有彈道,查找是否有狀態(tài)為“空閑”的彈道,若是,則進入步驟(5.2);若否,則進入步驟(5.3);

(5.2)從所有狀態(tài)為“空閑”的彈道中隨機選擇一個彈道,將新增彈幕從隨機選擇的彈道發(fā)射,并將該彈道狀態(tài)設(shè)為“占用”;

(5.3)將新增彈幕放入隊列等待;直到有彈道被釋放,檢測到狀態(tài)為“空閑”的彈道,進入步驟(5.4);

(5.4)將該將新增彈幕從狀態(tài)為“空閑”的彈道發(fā)射;并將該彈道狀態(tài)設(shè)為“占用”。

優(yōu)選地,上述速度可變彈幕的彈道分配方法,其新增彈幕的速度為(屏幕的寬度+彈幕的長度)/運動頻率。

總體而言,通過本發(fā)明所構(gòu)思的以上技術(shù)方案與現(xiàn)有技術(shù)相比,能夠取得下列有益效果:

(1)本發(fā)明提供的速度可變彈幕的彈道分配方法,根據(jù)屏幕的整體狀態(tài)為每條彈幕分配彈道,由此,將彈幕消息合理地分配在不同地彈道,解決由于彈幕集中地出現(xiàn)在一個彈道而導(dǎo)致的彈幕在同一彈道上重疊的問題,使得彈幕的呈現(xiàn)更具觀賞性;

(2)本發(fā)明提供的速度可變彈幕的彈道分配方法,根據(jù)彈幕字體高度來分配為彈幕分配彈道位置;不同的彈道分配在不同的位置,且同一彈道中每條彈幕的速度根據(jù)該彈道上已存在的彈幕的狀態(tài)以及彈幕消息自身的長度進行動態(tài)獲??;該動態(tài)獲取的過程保證了在前一個彈幕消失前,后一個彈幕的邊界與前一個彈幕邊界無重疊,由此解決了速度可變的彈幕有可能重合的問題,既保證不同彈道上的彈幕無重疊,也保證相同彈道上先后出現(xiàn)的彈幕無重疊。

附圖說明

圖1是實施例中的彈幕消息初始化的流程示意圖;

圖2是實施例中的彈道分配流程示意圖。

具體實施方式

為了使本發(fā)明的目的、技術(shù)方案及優(yōu)點更加清楚明白,以下結(jié)合附圖及實施例,對本發(fā)明進行進一步詳細說明。應(yīng)當理解,此處所描述的具體實施例僅僅用以解釋本發(fā)明,并不用于限定本發(fā)明。此外,下面所描述的本發(fā)明各個實施方式中所涉及到的技術(shù)特征只要彼此之間未構(gòu)成沖突就可以相互組合。

本發(fā)明實施例提供的速度可變彈幕的彈道分配方法,對彈幕消息的初始化的流程如圖1所示,包括如下步驟:

(1)查找當前屏幕中是否存在未使用的彈道;若否,則舍棄當前彈幕,不予顯示;若是,則進入步驟(2);

(2)從未使用彈道中隨機選擇一條,將該彈道的狀態(tài)設(shè)為占用,進入步驟(3);

(3)根據(jù)當前擬顯示的彈幕的長度、屏幕的寬度、以及彈幕的運動頻率設(shè)置彈幕的速度;

(4)設(shè)置彈幕運動的起始位置,將彈幕消息所在屏幕的高度設(shè)置為占用彈道所在屏幕的高度,并彈幕消息距屏幕左邊界的長度設(shè)置為屏幕的寬度,使得彈幕消息的左邊界與屏幕的右邊界重合。

實施例中,將擬顯示的彈幕消息經(jīng)過上述初始化處理之后,在每個運動周期到來時,按照圖2所示的流程為其分配彈道,具體如下:

(1)將屏幕中的每條彈幕的位置左移彈幕速度個單位;

(2)對于每條彈幕、判斷其右邊界坐標是否小于屏幕右邊界坐標;若是,則將該彈幕所占用彈道狀態(tài)設(shè)置“空閑”,并進入步驟3;若否,則進入步驟(4);

(3)對于每條彈幕,判斷其右邊界坐標是否小于屏幕左邊界坐標,若是,則刪除該彈幕,進入步驟(4);若否,則進入步驟(4);

(4)等待,直到下一個運動周期到來,進入步驟(1)。

本領(lǐng)域的技術(shù)人員容易理解,以上所述僅為本發(fā)明的較佳實施例而已,并不用以限制本發(fā)明,凡在本發(fā)明的精神和原則之內(nèi)所作的任何修改、等同替換和改進等,均應(yīng)包含在本發(fā)明的保護范圍之內(nèi)。

當前第1頁1 2 3 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
偃师市| 潼关县| 凌海市| 迁西县| 甘孜| 浏阳市| 洪泽县| 桐柏县| 都昌县| 新晃| 武胜县| 兴宁市| 渝北区| 全南县| 乌兰察布市| 九龙城区| 连南| 营口市| 姚安县| 台江县| 保康县| 沭阳县| 阜新| 东平县| 昭觉县| 杂多县| 朝阳县| 泰兴市| 呈贡县| 临江市| 宣化县| 仲巴县| 板桥市| 马鞍山市| 仲巴县| 尉氏县| 增城市| 濮阳市| 丽水市| 大理市| 宜兴市|