本發(fā)明涉及彈幕顯示技術(shù),更具體地,涉及顯示彈幕信息的方法和系統(tǒng)。
背景技術(shù):
現(xiàn)有技術(shù)中,彈幕信息是以文本結(jié)合濾鏡的方式來顯示,其中文本用來展示彈幕的內(nèi)容、字體大小、顏色等信息,濾鏡則可以給單調(diào)的文本信息增加各種特殊效果,例如顏色的漸變效果、霧化效果等等。
但是,這種顯示方式在彈幕量大的時(shí)候效率就會(huì)變低,因?yàn)闉V鏡會(huì)占用cpu資源,所以當(dāng)彈幕量增大后,cpu資源就會(huì)被大量消耗,此時(shí),給用戶的直觀感受就是掉幀,也就是有明顯的卡頓現(xiàn)象出現(xiàn)。
位圖圖像(bitmap),亦稱為點(diǎn)陣圖像或繪制圖像,是由稱作像素(圖片元素)的單個(gè)點(diǎn)組成的。這些點(diǎn)可以進(jìn)行不同的排列和染色以構(gòu)成圖樣。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明提供一種克服上述問題或者至少部分地解決上述問題的顯示彈幕信息的方法和系統(tǒng)。
根據(jù)本發(fā)明的一個(gè)方面,提供一種顯示彈幕信息的方法,包括:
s1、對(duì)于任意一條待顯示的彈幕信息,檢索彈幕字典中是否存在與該待顯示的彈幕信息對(duì)應(yīng)的位圖化彈幕信息;
s2、若存在,則將所述與該待顯示的彈幕信息對(duì)應(yīng)的位圖化彈幕信息進(jìn)行顯示。
根據(jù)本發(fā)明的另一個(gè)方面,還提供一種顯示彈幕信息的系統(tǒng),包括:
檢索裝置,用于對(duì)于任意一條待顯示的彈幕信息,檢索彈幕字典中是否存在與該待顯示的彈幕信息對(duì)應(yīng)的位圖化彈幕信息;
顯示裝置,用于當(dāng)彈幕字典中存在與該待顯示的彈幕信息對(duì)應(yīng)的位圖化彈幕信息時(shí),將所述與該待顯示的彈幕信息對(duì)應(yīng)的位圖化彈幕信息進(jìn)行顯示。
本申請(qǐng)?zhí)岢鲆环N顯示彈幕信息的方法和系統(tǒng),通過將傳統(tǒng)的文本加濾鏡形式的彈幕形式轉(zhuǎn)換為位圖的形式,由于在flash中,對(duì)位圖的操作都是不消耗cpu的,因此節(jié)省了對(duì)cpu的消耗,降低了顯示彈幕出現(xiàn)卡斷的發(fā)生機(jī)率,并且將一定數(shù)量的位圖化彈幕信息存儲(chǔ)在彈幕字典中,能夠在一定程度上緩解彈幕高峰期的壓力,最后,同一屏幕下位圖的顯示數(shù)量要比普通文本加濾鏡的顯示數(shù)量要多,使用戶能夠在相同時(shí)間內(nèi)瀏覽更多數(shù)量的彈幕信息。
附圖說明
圖1為本發(fā)明實(shí)施例的一種顯示彈幕信息的方法的流程圖;
圖2為本發(fā)明實(shí)施例的另一種顯示彈幕信息的方法的流程圖;
圖3為本發(fā)明實(shí)施例的再一種顯示彈幕信息的方法的流程圖;
圖4為本發(fā)明實(shí)施例的顯示彈幕信息的方法的總流程圖;
圖5為本發(fā)明實(shí)施例的一種顯示彈幕信息的系統(tǒng)的結(jié)構(gòu)框圖;
圖6為本發(fā)明實(shí)施例的另一種顯示彈幕信息的系統(tǒng)的結(jié)構(gòu)框圖。
具體實(shí)施方式
下面結(jié)合附圖和實(shí)施例,對(duì)本發(fā)明的具體實(shí)施方式作進(jìn)一步詳細(xì)描述。以下實(shí)施例用于說明本發(fā)明,但不用來限制本發(fā)明的范圍。
現(xiàn)有技術(shù)中,彈幕信息是以文本結(jié)合濾鏡的方式來顯示,其中文本用來展示彈幕的內(nèi)容、字體大小、顏色等信息,濾鏡則可以給單調(diào)的文本信息增加各種特殊效果,例如顏色的漸變效果、霧化效果等等。
但是,這種顯示方式在彈幕量大的時(shí)候效率就會(huì)變低,因?yàn)闉V鏡會(huì)占用cpu資源,所以當(dāng)彈幕量增大后,cpu資源就會(huì)被大量消耗,此時(shí),給用戶的直觀感受就是掉幀,也就是有明顯的卡頓現(xiàn)象出現(xiàn)。
為了克服上述問題,本發(fā)明實(shí)施例提供了一種顯示彈幕信息的方法,如圖1所示,包括:
101、對(duì)于任意一條待顯示的彈幕信息,檢索彈幕字典中是否存在與該待顯示的彈幕信息對(duì)應(yīng)的位圖化彈幕信息;
102、若存在,則將所述與該待顯示的彈幕信息對(duì)應(yīng)的位圖化彈幕信息進(jìn)行顯示。
位圖化彈幕信息就是以位圖的形式繪制的彈幕信息,例如,某一條待顯示的彈幕信息為阿拉伯?dāng)?shù)字組成的“666”,位圖化彈幕信息就是以像素組成的“666”,通過檢索彈幕字典中是否存在與阿拉伯?dāng)?shù)字“666”對(duì)應(yīng)的像素組成的“666”,當(dāng)存在時(shí),說明之前創(chuàng)建過這個(gè)位圖化彈幕信息,于是就可以將位圖化彈幕信息:由像素組成的“666”進(jìn)行展示,十分方便。
本實(shí)施例通過將傳統(tǒng)的文本加濾鏡形式的彈幕形式轉(zhuǎn)換為位圖的形式,由于在flash中,對(duì)位圖的操作都是不消耗cpu的,因此節(jié)省了對(duì)cpu的消耗,降低了顯示彈幕出現(xiàn)卡斷的發(fā)生機(jī)率,并且將一定數(shù)量的位圖化彈幕信息存儲(chǔ)在彈幕字典中,能夠在一定程度上緩解彈幕高峰期的壓力,最后,同一屏幕下位圖的顯示數(shù)量要比普通文本加濾鏡的顯示數(shù)量要多,使用戶能夠在相同時(shí)間內(nèi)瀏覽更多數(shù)量的彈幕信息。
本發(fā)明實(shí)施例提供了另一種顯示彈幕信息的方法,如圖2所述,本方法包括:
201、創(chuàng)建彈幕字典,所述彈幕字典以鍵值對(duì)的形式存儲(chǔ)彈幕信息以及與彈幕信息對(duì)應(yīng)的位圖化彈幕信息;
202、對(duì)于任意一條待顯示的彈幕信息,檢索彈幕字典中是否存在與該待顯示的彈幕信息對(duì)應(yīng)的位圖化彈幕信息;
203、若存在,則將所述與該待顯示的彈幕信息對(duì)應(yīng)的位圖化彈幕信息進(jìn)行顯示。
所謂鍵值對(duì)形式,就是指一個(gè)鍵對(duì)應(yīng)一個(gè)值的形式。鍵,就是值的編號(hào),值,就是存儲(chǔ)的數(shù)據(jù)。在本實(shí)施例中,鍵即為彈幕信息,例如漢字“主播好厲害”,值即為位圖化彈幕信息,
需要注意的是,在flash語言中,很多類型都可以作為鍵,因此本發(fā)明并不對(duì)鍵的具體類型進(jìn)行限制,例如,也可以將彈幕信息對(duì)應(yīng)的編號(hào)id,設(shè)置為鍵。
需要注意的是,本發(fā)明并不限制彈幕字典創(chuàng)建的地點(diǎn)是在服務(wù)器中還是本地。
在一個(gè)實(shí)施例中,本發(fā)明還包括:
若不存在,則在所述彈幕字典中創(chuàng)建并保存與該待顯示的彈幕信息對(duì)應(yīng)的位圖化彈幕信息;以及
將保存的該待顯示的彈幕信息對(duì)應(yīng)的位圖化彈幕信息進(jìn)行顯示。
顯然,如果沒有在彈幕字典中發(fā)現(xiàn)與待顯示的彈幕信息對(duì)應(yīng)的位圖化彈幕信息,說明之前沒有在彈幕字典中創(chuàng)建過這個(gè)彈幕信息的位圖化彈幕信息,那么就需要先在創(chuàng)建彈幕字典中創(chuàng)建這個(gè)位圖化彈幕信息,再進(jìn)行顯示。
在一個(gè)實(shí)施例中,所述彈幕字典還存儲(chǔ)每個(gè)位圖化彈幕信息的顯示次數(shù)。具體地,每個(gè)位圖化彈幕信息的顯示次數(shù)也包含在值中,也就是說,值包含兩個(gè)屬性,一個(gè)是位圖化彈幕信息,一個(gè)是隊(duì)員每個(gè)位圖化彈幕信息的顯示次數(shù)。
需要注意的是,由于彈幕信息如同人說的話語,從數(shù)量上可以說上將沒有極限,但不同的話每天說的次數(shù)肯定不同,結(jié)合彈幕來說,發(fā)送“666”的次數(shù)屬于最熱門、顯示次數(shù)最多的彈幕信息,其他例如“主播查房了”、“主播再來一個(gè)”也屬于非常熱門的彈幕信息,因此,通過記錄每個(gè)的彈幕信息的顯示次數(shù),就可以知道不同時(shí)期的網(wǎng)絡(luò)流行語,并且,由于彈幕字典不可能無限制的保存彈幕信息,通過記錄不同彈幕信息的顯示次數(shù),就可以實(shí)現(xiàn)只保存一定熱度以上的詞匯,減少彈幕字典的更新頻率的目的。
在一個(gè)實(shí)施例中,在所述彈幕字典中創(chuàng)建并保存與該待顯示的彈幕信息對(duì)應(yīng)的位圖化彈幕信息的步驟之前,本方法還包括:
檢查并確定所述彈幕字典中位圖化彈幕信息的數(shù)量未超過上限。
需要注意的是,為了防止彈幕字典中位圖化彈幕信息的保存數(shù)量超過上限,需要在創(chuàng)建新的位圖化彈幕信息前檢查彈幕字典中的位圖化彈幕信息的數(shù)量,如果沒有超過上限,就直接進(jìn)行創(chuàng)建。上限可以根據(jù)具體情況設(shè)置為任何合理的值,例如500。
在一個(gè)實(shí)施例中,所述在所述彈幕字典中創(chuàng)建并保存與該待顯示的彈幕信息對(duì)應(yīng)的位圖化彈幕信息,之前還包括:
檢查并確定所述彈幕字典位圖化彈幕信息的數(shù)量已達(dá)到上限,則將顯示次數(shù)最低的位圖化彈幕信息從所述彈幕字典中刪除。
需要注意的是,為了方便后續(xù)的刪除操作,本實(shí)施例提供了再一種顯示彈幕的方法,如圖3所示,包括:
301、創(chuàng)建彈幕字典,所述彈幕字典以鍵值對(duì)的形式存儲(chǔ)彈幕信息以及與彈幕信息對(duì)應(yīng)的位圖化彈幕信息;
302、對(duì)于任意一條待顯示的彈幕信息,檢索彈幕字典中是否存在與該待顯示的彈幕信息對(duì)應(yīng)的位圖化彈幕信息;
303、若存在,則將所述與該待顯示的彈幕信息對(duì)應(yīng)的位圖化彈幕信息進(jìn)行顯示;
304、對(duì)顯示的位圖化彈幕信息的顯示次數(shù)進(jìn)行更新。
對(duì)象,作為計(jì)算機(jī)領(lǐng)域中最基礎(chǔ)的知識(shí),是系統(tǒng)中用來秒回客觀事物的客體,它是構(gòu)成系統(tǒng)的一個(gè)基本單元,一個(gè)對(duì)象由一組屬性和對(duì)這組屬性進(jìn)行操作的一組服務(wù)組成。從更抽象的角度來說,對(duì)象是問題域或?qū)崿F(xiàn)域中某些事物的一個(gè)抽象,反應(yīng)這事物在系統(tǒng)中需要保持的信息和發(fā)揮的作用,是一組屬性和有權(quán)對(duì)這些屬性進(jìn)行操作的一組服務(wù)的封裝體,客觀世界是由對(duì)象和對(duì)象之間的聯(lián)系組成。結(jié)合本發(fā)明來說,值就是一個(gè)對(duì)象,它包括兩個(gè)屬性,一個(gè)是位圖化彈幕信息,一個(gè)是該位圖化彈幕信息的顯示次數(shù)。
在一個(gè)實(shí)施例中,在所述彈幕字典中創(chuàng)建并保存與該待顯示的彈幕信息對(duì)應(yīng)的位圖化彈幕信息,包括以下步驟:
創(chuàng)建待顯示的彈幕信息的文本對(duì)象,并對(duì)該文本對(duì)象設(shè)置字體、大小、顏色以及彈幕的內(nèi)容;
創(chuàng)建位圖數(shù)據(jù)對(duì)象,設(shè)置該位圖數(shù)據(jù)對(duì)象的寬高和所述文本對(duì)象的寬高一致,并設(shè)置背景為透明;
調(diào)用位圖數(shù)據(jù)對(duì)象對(duì)所述文本對(duì)象進(jìn)行繪制;
創(chuàng)建位圖對(duì)象,以所述位圖數(shù)據(jù)對(duì)象作為數(shù)據(jù)源賦值給位圖對(duì)象,將位圖對(duì)象作為所述位圖化彈幕信息。
以彈幕信息“主播好厲害”為例,首先創(chuàng)建一個(gè)文本對(duì)象,設(shè)置字體為宋體,字體大小為4號(hào),顏色為黑色,內(nèi)容為主播好厲害;
然后創(chuàng)建位圖數(shù)據(jù)對(duì)象,設(shè)置該位圖數(shù)據(jù)對(duì)象的寬高和文本對(duì)象“主播好厲害”的寬高一致,并設(shè)置背景為透明;
然后通過位圖數(shù)據(jù)對(duì)象中的draw()方法,將文本對(duì)象進(jìn)行繪制操作,創(chuàng)建位圖對(duì)象,以所述位圖數(shù)據(jù)對(duì)象作為數(shù)據(jù)源賦值給位圖對(duì)象,就得到了位圖化彈幕信息“主播還厲害”。
在一個(gè)可選實(shí)施例中,所述創(chuàng)建位圖數(shù)據(jù)對(duì)象之前還包括:
創(chuàng)建濾鏡對(duì)象,并對(duì)該系統(tǒng)濾鏡對(duì)象設(shè)置濾鏡的顏色以及發(fā)光范圍;
將所述濾鏡對(duì)象賦值給所述文本對(duì)象。
需要注意的是,本發(fā)明并不僅僅實(shí)現(xiàn)對(duì)文本內(nèi)容的位圖化處理,當(dāng)對(duì)文本內(nèi)容添加濾鏡效果時(shí),仍然可以通過位圖化處理得到位圖化處理后的帶濾鏡效果的彈幕信息,用戶在感官上不會(huì)發(fā)現(xiàn)差異。
圖4示出了本發(fā)明實(shí)施例的顯示彈幕信息的總流程圖,如圖4可知,包括:
創(chuàng)建彈幕字典,所述彈幕字典以鍵值對(duì)的形式存儲(chǔ)彈幕信息以及與彈幕信息對(duì)應(yīng)的位圖化彈幕信息和每個(gè)位圖化彈幕信息的顯示次數(shù)。
對(duì)于任意一條待顯示的彈幕信息,檢索彈幕字典中是否存在與該待顯示的彈幕信息對(duì)應(yīng)的位圖化彈幕信息。
當(dāng)存在時(shí),將所述與該待顯示的彈幕信息對(duì)應(yīng)的位圖化彈幕信息進(jìn)行顯示,并對(duì)顯示的位圖化彈幕信息的顯示次數(shù)進(jìn)行更新。
當(dāng)不存在時(shí),檢查所述彈幕字典中位圖化彈幕信息的數(shù)量是否超過上限。
當(dāng)未超過上限時(shí),在所述彈幕字典中創(chuàng)建并保存與該待顯示的彈幕信息對(duì)應(yīng)的位圖化彈幕信息,隨后對(duì)該位圖化彈幕信息進(jìn)行顯示,并對(duì)顯示的位圖化彈幕信息的顯示次數(shù)進(jìn)行更新。
當(dāng)超過上限時(shí),將顯示次數(shù)最低的位圖化彈幕信息從所述彈幕字典中刪除,然后在所述彈幕字典中創(chuàng)建并保存與該待顯示的彈幕信息對(duì)應(yīng)的位圖化彈幕信息,對(duì)該位圖化彈幕信息進(jìn)行顯示,并對(duì)顯示的位圖化彈幕信息的顯示次數(shù)進(jìn)行更新。
為了驗(yàn)證本發(fā)明的顯示彈幕信息的方法相比現(xiàn)有技術(shù)的顯示方法具有顯著的進(jìn)步,本發(fā)明還提供一種測(cè)試方法,包括:
1、創(chuàng)建測(cè)試工程textdemo,在textdemo的構(gòu)造方法中監(jiān)聽event.added_to_stage事件,并指定回調(diào)函數(shù)onadd2stage,當(dāng)主類被添加到舞臺(tái)時(shí),就會(huì)觸發(fā)這個(gè)事件,主類即為彈幕信息,包括采用現(xiàn)有技術(shù)用文本和濾鏡處理的彈幕信息和位圖化彈幕信息,代碼如下:
2、在onadd2stage回調(diào)函數(shù)中設(shè)置舞臺(tái)的一些參數(shù),然后創(chuàng)建fps對(duì)象,fps對(duì)象是用來查看幀頻和內(nèi)存使用情況的一個(gè)類,然后把這個(gè)類添加到舞臺(tái)上,后面就可以在界面上很直觀的看到幀頻和內(nèi)存的信息了,然后監(jiān)聽舞臺(tái)的點(diǎn)擊事件,通過在點(diǎn)擊事件中來創(chuàng)建文本彈幕數(shù)據(jù),然后在監(jiān)聽enterframe事件,接下來需要在點(diǎn)擊事件中進(jìn)行對(duì)測(cè)試對(duì)象的操作,onadd2stage的代碼實(shí)現(xiàn)如下
3、在舞臺(tái)的點(diǎn)擊事件中,每點(diǎn)擊一次舞臺(tái)就創(chuàng)建600個(gè)測(cè)試對(duì)象(即彈幕),本方法通過for循環(huán)的方式去進(jìn)行,分為兩次測(cè)試時(shí),一次通過創(chuàng)建文本對(duì)象觀察fps的幀頻和內(nèi)存記錄,看當(dāng)測(cè)試對(duì)象達(dá)到多少個(gè)的時(shí)候會(huì)開始掉幀,然后將這個(gè)數(shù)據(jù)記錄下來,另一次是通過創(chuàng)建位圖化的測(cè)試對(duì)象來測(cè)試數(shù)量結(jié)果,代碼如下:
需要注意的是,上述代碼中的createtext()方法是用來創(chuàng)建文本對(duì)象的,創(chuàng)建好文本對(duì)象然后設(shè)置一些參數(shù),設(shè)置文本字體,設(shè)置文本顏色,設(shè)置文本大小,設(shè)置文本內(nèi)容,然后添加一個(gè)描邊的濾鏡效果,然后返回這個(gè)文本對(duì)象進(jìn)行使用,具體的代碼如下:
以上代碼的具體含義為:設(shè)置文本字體為黑體,字體大小為12,文本內(nèi)容為這是一個(gè)測(cè)試的文本,字體顏色為0xff00ff,該顏色屬于紫紅的一種,濾鏡效果為發(fā)光。
createitem()方法用于創(chuàng)建顯示對(duì)象,該方法需要一個(gè)displayobject類型的參數(shù),上面說到的文本、位圖都是這個(gè)類型的子類,所以都可以當(dāng)這種類型的參數(shù)傳遞進(jìn)來,在這個(gè)方法中我們會(huì)給displayobject設(shè)置一個(gè)隨機(jī)的坐標(biāo)x,y,隨機(jī)的速度speed,隨機(jī)的方向direction,這些是用來讓測(cè)試對(duì)象一直在舞臺(tái)中運(yùn)動(dòng)的一些參數(shù)。因?yàn)橐屵@個(gè)測(cè)試對(duì)象都運(yùn)動(dòng)起來才能很好的看到測(cè)試的效果。代碼如下:
onenterframe()方法,這個(gè)方法在即使沒幀時(shí)都會(huì)執(zhí)行,用來改變測(cè)試對(duì)象的位置,讓顯示對(duì)象運(yùn)動(dòng)起來,遍歷舞臺(tái)上所有的測(cè)試對(duì)象,然后根據(jù)前面設(shè)置好的參數(shù)讓測(cè)試對(duì)象按著圓形的軌跡運(yùn)動(dòng),具體代碼如下所示:
完成上述步驟后就可以進(jìn)行測(cè)試分析,首先,將第3步所示代碼中的createitem(createbitmap());這一行代碼去掉,去掉后的代碼為:
通過這個(gè)代碼創(chuàng)建的對(duì)象就是文本類型的對(duì)象(彈幕信息)了。
在本實(shí)施例中,點(diǎn)擊3次舞臺(tái),每次產(chǎn)生600個(gè)對(duì)象,所以舞臺(tái)上總共有1800個(gè)文本彈幕對(duì)象,觀察fps顯示為42.52,幀頻為60幀,可知文本加濾鏡形式的彈幕信息的顯示過程掉了20幀左右,所以可以認(rèn)為當(dāng)以文本方式到1800個(gè)對(duì)象的時(shí)候就開始掉幀了。
接著,將第3步所示代碼中的createitem(createtext());這一行代碼去掉,去掉后的代碼為:
這一次點(diǎn)擊舞臺(tái)5次,同樣地,每次點(diǎn)擊舞臺(tái)將出現(xiàn)600個(gè)對(duì)象,所有舞臺(tái)上總共有3000個(gè)位圖化的彈幕信息,觀察fps顯示為55幀,幀頻為60幀,可知位圖化的彈幕信息的顯示過程只掉了5幀左右,由此可以明顯看出來,使用位圖對(duì)象要比文本加濾鏡的方式效率更高。
本發(fā)明還提供了一種顯示彈幕信息的系統(tǒng),如圖5所示,包括:
檢索裝置,用于對(duì)于任意一條待顯示的彈幕信息,檢索彈幕字典中是否存在與該待顯示的彈幕信息對(duì)應(yīng)的位圖化彈幕信息;以及
顯示裝置,用于當(dāng)彈幕字典中存在與該待顯示的彈幕信息對(duì)應(yīng)的位圖化彈幕信息時(shí),將所述與該待顯示的彈幕信息對(duì)應(yīng)的位圖化彈幕信息進(jìn)行顯示。
位圖化彈幕信息就是以位圖的形式繪制的彈幕信息,例如,某一條待顯示的彈幕信息為阿拉伯?dāng)?shù)字組成的“666”,位圖化彈幕信息就是以像素組成的“666”,通過檢索彈幕字典中是否存在與阿拉伯?dāng)?shù)字“666”對(duì)應(yīng)的像素組成的“666”,當(dāng)存在時(shí),說明之前創(chuàng)建過這個(gè)位圖化彈幕信息,于是就可以將位圖化彈幕信息:由像素組成的“666”進(jìn)行展示,十分方便。
本實(shí)施例通過將傳統(tǒng)的文本加濾鏡形式的彈幕形式轉(zhuǎn)換為位圖的形式,由于在flash中,對(duì)位圖的操作都是不消耗cpu的,因此節(jié)省了對(duì)cpu的消耗,降低了顯示彈幕出現(xiàn)卡斷的發(fā)生機(jī)率,并且將一定數(shù)量的位圖化彈幕信息存儲(chǔ)在彈幕字典中,能夠在一定程度上緩解彈幕高峰期的壓力,最后,同一屏幕下位圖的顯示數(shù)量要比普通文本加濾鏡的顯示數(shù)量要多,使用戶能夠在相同時(shí)間內(nèi)瀏覽更多數(shù)量的彈幕信息。
圖6示出了本發(fā)明實(shí)施例的另一種顯示彈幕信息的系統(tǒng),包括:
彈幕字典裝置,用于創(chuàng)建彈幕字典,所述彈幕字典以鍵值對(duì)的形式存儲(chǔ)彈幕信息以及與彈幕信息對(duì)應(yīng)的位圖化彈幕信息;
檢索裝置,用于對(duì)于任意一條待顯示的彈幕信息,檢索彈幕字典中是否存在與該待顯示的彈幕信息對(duì)應(yīng)的位圖化彈幕信息;以及
顯示裝置,用于當(dāng)彈幕字典中存在與該待顯示的彈幕信息對(duì)應(yīng)的位圖化彈幕信息時(shí),將所述與該待顯示的彈幕信息對(duì)應(yīng)的位圖化彈幕信息進(jìn)行顯示。
所謂鍵值對(duì)形式,就是指一個(gè)鍵對(duì)應(yīng)一個(gè)值的形式。鍵,就是值的編號(hào),值,就是存儲(chǔ)的數(shù)據(jù)。在本實(shí)施例中,鍵即為彈幕信息,例如漢字“主播好厲害”,值即為位圖化彈幕信息,
需要注意的是,在flash語言中,很多類型都可以作為鍵,因此本發(fā)明并不對(duì)鍵的具體類型進(jìn)行限制,例如,也可以將彈幕信息對(duì)應(yīng)的編號(hào)id,設(shè)置為鍵。
在一個(gè)實(shí)施例中,彈幕字典裝置還用于:當(dāng)彈幕字典中不存在與該待顯示的彈幕信息對(duì)應(yīng)的位圖化彈幕信息時(shí),在所述彈幕字典中創(chuàng)建并保存與該待顯示的彈幕信息對(duì)應(yīng)的位圖化彈幕信息。
顯然,如果沒有在彈幕字典中發(fā)現(xiàn)與待顯示的彈幕信息對(duì)應(yīng)的位圖化彈幕信息,說明之前沒有在彈幕字典中創(chuàng)建過這個(gè)彈幕信息的位圖化彈幕信息,那么就需要先在創(chuàng)建彈幕字典中創(chuàng)建這個(gè)位圖化彈幕信息,再進(jìn)行顯示。
在一個(gè)實(shí)施例中,在一個(gè)實(shí)施例中,所述彈幕字典還存儲(chǔ)每個(gè)位圖化彈幕信息的顯示次數(shù)。具體地,每個(gè)位圖化彈幕信息的顯示次數(shù)也包含在值中,也就是說,值包含兩個(gè)屬性,一個(gè)是位圖化彈幕信息,一個(gè)是隊(duì)員每個(gè)位圖化彈幕信息的顯示次數(shù)。
需要注意的是,由于彈幕信息如同人說的話語,從數(shù)量上可以說上將沒有極限,但不同的話每天說的次數(shù)肯定不同,結(jié)合彈幕來說,發(fā)送“666”的次數(shù)屬于最熱門、顯示次數(shù)最多的彈幕信息,其他例如“主播查房了”、“主播再來一個(gè)”也屬于非常熱門的彈幕信息,因此,通過記錄每個(gè)的彈幕信息的顯示次數(shù),就可以知道不同時(shí)期的網(wǎng)絡(luò)流行語,并且,由于彈幕字典不可能無限制的保存彈幕信息,通過記錄不同彈幕信息的顯示次數(shù),就可以實(shí)現(xiàn)只保存一定熱度以上的詞匯,減少彈幕字典的更新頻率的目的。
在一個(gè)實(shí)施例中,彈幕字典裝置在創(chuàng)建并保存與該待顯示的彈幕信息對(duì)應(yīng)的位圖化彈幕信息之前,還需要檢查并確定所述彈幕字典中位圖化彈幕信息的數(shù)量未超過上限。
需要注意的是,為了防止彈幕字典中位圖化彈幕信息的保存數(shù)量超過上限,需要在創(chuàng)建新的位圖化彈幕信息前檢查彈幕字典中的位圖化彈幕信息的數(shù)量,如果沒有超過上限,就直接進(jìn)行創(chuàng)建。上限可以根據(jù)具體情況設(shè)置為任何合理的值。
在一個(gè)實(shí)施例中,彈幕字典裝置在創(chuàng)建并保存與該待顯示的彈幕信息對(duì)應(yīng)的位圖化彈幕信息,之前還用于:
檢查并確定所述彈幕字典位圖化彈幕信息的數(shù)量已達(dá)到上限,則將顯示次數(shù)最低的位圖化彈幕信息從所述彈幕字典中刪除。
在一個(gè)實(shí)施例中,彈幕字典裝置還用于,對(duì)顯示的位圖化彈幕信息的顯示次數(shù)進(jìn)行更新,這樣能方便后續(xù)的刪除操作。
在一個(gè)實(shí)施例中,本發(fā)明公開一種計(jì)算機(jī)程序產(chǎn)品,所述計(jì)算機(jī)程序產(chǎn)品包括存儲(chǔ)在非暫態(tài)計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)上的計(jì)算機(jī)程序,所述計(jì)算機(jī)程序包括程序指令,當(dāng)所述程序指令被計(jì)算機(jī)執(zhí)行時(shí),計(jì)算機(jī)能夠執(zhí)行上述各方法實(shí)施例所提供的方法,例如包括:
s1、對(duì)于任意一條待顯示的彈幕信息,檢索彈幕字典中是否存在與該待顯示的彈幕信息對(duì)應(yīng)的位圖化彈幕信息;以及
s2、若存在,則將所述與該待顯示的彈幕信息對(duì)應(yīng)的位圖化彈幕信息進(jìn)行顯示。
在一個(gè)實(shí)施例中,本發(fā)明公開了一種非暫態(tài)計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),所述非暫態(tài)計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)存儲(chǔ)計(jì)算機(jī)指令,所述計(jì)算機(jī)指令使所述計(jì)算機(jī)執(zhí)行上述各方法實(shí)施例所提供的方法,例如包括:
s1、對(duì)于任意一條待顯示的彈幕信息,檢索彈幕字典中是否存在與該待顯示的彈幕信息對(duì)應(yīng)的位圖化彈幕信息;以及
s2、若存在,則將所述與該待顯示的彈幕信息對(duì)應(yīng)的位圖化彈幕信息進(jìn)行顯示。
最后,本申請(qǐng)的方法僅為較佳的實(shí)施方案,并非用于限定本發(fā)明的保護(hù)范圍。凡在本發(fā)明的精神和原則之內(nèi),所作的任何修改、等同替換、改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。