CN117750085A - 游戏中的弹幕处理方法和装置 - Google Patents
游戏中的弹幕处理方法和装置 Download PDFInfo
- Publication number
- CN117750085A CN117750085A CN202311741229.6A CN202311741229A CN117750085A CN 117750085 A CN117750085 A CN 117750085A CN 202311741229 A CN202311741229 A CN 202311741229A CN 117750085 A CN117750085 A CN 117750085A
- Authority
- CN
- China
- Prior art keywords
- barrage
- bullet screen
- data
- game
- target
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000003672 processing method Methods 0.000 title claims abstract description 15
- 238000009877 rendering Methods 0.000 claims abstract description 74
- 238000000034 method Methods 0.000 claims abstract description 48
- 238000012545 processing Methods 0.000 claims description 21
- 230000008569 process Effects 0.000 claims description 14
- 238000004806 packaging method and process Methods 0.000 claims description 13
- 238000011161 development Methods 0.000 abstract description 15
- 230000006870 function Effects 0.000 description 41
- 230000000694 effects Effects 0.000 description 15
- 238000010586 diagram Methods 0.000 description 7
- 238000012216 screening Methods 0.000 description 6
- 230000002829 reductive effect Effects 0.000 description 5
- 238000004891 communication Methods 0.000 description 4
- 238000005096 rolling process Methods 0.000 description 4
- 239000003086 colorant Substances 0.000 description 3
- 238000004590 computer program Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 230000003993 interaction Effects 0.000 description 3
- 230000002452 interceptive effect Effects 0.000 description 3
- 230000006399 behavior Effects 0.000 description 2
- 238000005538 encapsulation Methods 0.000 description 2
- 238000010295 mobile communication Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 239000008188 pellet Substances 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 230000000007 visual effect Effects 0.000 description 2
- 230000009471 action Effects 0.000 description 1
- 238000013473 artificial intelligence Methods 0.000 description 1
- 230000003542 behavioural effect Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000004397 blinking Effects 0.000 description 1
- 230000000903 blocking effect Effects 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 239000003795 chemical substances by application Substances 0.000 description 1
- 239000012141 concentrate Substances 0.000 description 1
- 230000008094 contradictory effect Effects 0.000 description 1
- 238000007405 data analysis Methods 0.000 description 1
- 238000013523 data management Methods 0.000 description 1
- 230000008034 disappearance Effects 0.000 description 1
- 238000005562 fading Methods 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 230000008571 general function Effects 0.000 description 1
- 230000000670 limiting effect Effects 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 238000003058 natural language processing Methods 0.000 description 1
- 238000003909 pattern recognition Methods 0.000 description 1
- 238000012827 research and development Methods 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
Landscapes
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本申请实施例了提供一种游戏中的弹幕处理方法,用于配置有弹幕工具包的目标游戏终端中。该方法包括:在弹幕工具包处于调用状态下,通过弹幕工具包接收弹幕服务端分发的弹幕数据。在弹幕工具包内对所述弹幕数据进行渲染,以绘制弹幕视图层,将所述弹幕视图层展示在游戏界面上,以在游戏界面的指定区域显示弹幕内容。本申请实施例的技术方案可以通过直接调用该弹幕工具包的方式,帮助游戏快速接入弹幕功能,提高基于游戏的弹幕功能的开发和使用效率,进而节省成本。
Description
技术领域
本申请实施例涉及弹幕技术领域,尤其涉及一种游戏中的弹幕处理方法、装置、计算机设备、计算机可读存储介质。
背景技术
随着视频技术地快速发展,越来越多的用户可以通过网络观看各种视频节目。在观看视频节目的过程中,用户可以通过发送弹幕的方式,与主播或其他用户进行互动。所述弹幕,是指通过网络观看视频时弹出的并沿预定方向移动的字幕,是一种交流信息。弹幕在英文中还没有固定词汇,其通常称之为:co mment、danmaku、barrage、bullet screen、bullet-screen comment等。弹幕可以允许用户发表评论或感想,但与普通视频分享网站只在播放器下专用点评区显示不同,其会以滑动字幕的方式实时出现在视频画面上,保证所有观看者都能注意到。
在现有的游戏中,由于弹幕系统涉及多端服务,而搭建弹幕系统以及配置弹幕服务器成本高,单游戏接入时间成本大,使得基于游戏的弹幕功能开发和使用效率低下。
需要说明的是,上述内容并不必然是现有技术,也不用于限制本申请的专利保护范围。
发明内容
本申请实施例提供一种游戏中的弹幕处理方法、装置、计算机设备、计算机可读存储介质,以解决或缓解上面提出的一项或更多项技术问题。
本申请实施例的一个方面提供了一种游戏中的弹幕处理方法,所述游戏中的弹幕处理方法用于配置有弹幕工具包的目标游戏终端;所述方法包括:
在弹幕工具包处于调用状态下,通过弹幕工具包接收弹幕服务端分发的弹幕数据;
在弹幕工具包内对所述弹幕数据进行渲染,以绘制弹幕视图层;
将所述弹幕视图层展示在游戏界面上,以在游戏界面的指定区域显示弹幕内容。
可选地,在弹幕工具包内对所述弹幕数据进行渲染,包括:
通过弹幕工具包解析所述弹幕数据,以获取目标弹幕类型;
根据所述目标弹幕类型,创建与所述目标弹幕类型对应的弹幕解析器;
通过对应的弹幕解析器解析所述弹幕数据以得到目标类型的待渲染弹幕数据,以用于渲染。
可选地,所述弹幕数据的数量为多个;
对应地,在弹幕工具包内对所述分发的弹幕数据进行渲染,以绘制弹幕视图层,包括:
获取弹幕视图层的预设显示数量;
从多个所述弹幕数据中确定显示时间位于目标时段的若干个弹幕数据;
根据所述预设显示数量,将所述若干个弹幕数据中的至少部分弹幕数据合并在一个视图层上;
基于同一个视图层,对所述至少部分弹幕数据渲染,以绘制在同一个弹幕视图层。
可选地,所述方法还包括:
在弹幕工具包处于调用状态下,将弹幕内容传输至所述弹幕工具包中;
通过弹幕工具包根据弹幕内容封装得到目标弹幕数据;
通过弹幕工具包将所述目标弹幕数据发送至弹幕服务端,以使弹幕服务端处理所述目标弹幕数据并分发。
可选地,所述弹幕工具包中配置有弹幕配置数据;对应地,所述通过弹幕工具包根据弹幕内容封装得到目标弹幕数据,包括:
通过弹幕工具包根据所述弹幕配置数据对弹幕内容进行封装,以得到目标弹幕数据。
可选地,所述弹幕配置数据预先从所述弹幕服务端获取;
所述方法还包括初始化操作:
通过弹幕工具包创建弹幕视图层并生成弹幕参数配置请求;
在弹幕工具包与所述弹幕服务端建立连接的情况下,发送弹幕参数配置请求至所述弹幕服务端,以便所述弹幕服务端根据所述弹幕参数配置请求返回所述弹幕配置数据。
可选地,所述弹幕配置数据是弹幕服务端通过以下操作得到:
从游戏服务端获取与目标游戏终端关联的目标对象的对象数据;
根据所述目标对象的对象数据,为所述目标对象生成对应的所述弹幕配置数据。
可选地,所述弹幕配置数据通过所述目标游戏终端输入获取。
可选地,所述目标弹幕数据中携带有群组标识;
其中,所述群组标识用于指示弹幕服务端将所述目标弹幕数据发送到指定群组的游戏终端。
可选地,所述弹幕工具包包括:
弹幕逻辑引擎模块,包括弹幕底层渲染模块、弹幕调度模块、弹幕创建模块;其中,所述弹幕底层渲染模块用于负责弹幕数据的底层渲染逻辑,所述弹幕调度模块用于负责弹幕数据的接收与发送,所述弹幕调度模块用于创建弹幕数据的主体;
弹幕渲染模块,用于对弹幕数据进行渲染;其中,所述弹幕渲染模块包括解释器模块、图层绘制模块、弹幕视图层创建与展示模块。
本申请实施例的另一个方面提供了一种游戏中的弹幕处理装置,所述装置包括:
接收模块,用于在弹幕工具包处于调用状态下,通过弹幕工具包接收弹幕服务端分发的弹幕数据;
渲染模块,用于在弹幕工具包内对所述弹幕数据进行渲染,以绘制弹幕视图层;
展示模块,用于将所述弹幕视图层展示在游戏界面上,以在游戏界面的指定区域显示弹幕内容。
本申请实施例的另一个方面提供了一种计算机设备,包括:
至少一个处理器;及
与所述至少一个处理器通信连接的存储器;
其中:所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行如上所述的方法。
本申请实施例的另一个方面提供了一种计算机可读存储介质,所述计算机可读存储介质内存储有计算机指令,所述计算机指令被处理器执行时实现如上所述的方法。
本申请实施例采用上述技术方案可以包括如下优势:
将弹幕功能封装成弹幕工具包并将该弹幕工具包设置目标游戏终端上。在目标游戏终端需要显示弹幕时,可以直接通过调用弹幕工具包从弹幕服务端接收弹幕并完成弹幕的渲染,从而绘制出相应的弹幕视图层。继而将该弹幕视图层展示在游戏界面上,以在游戏界面显示弹幕内容。即在不感知内部流程的情况下完成弹幕功能的调用。可知,在游戏需要显示弹幕时,可以直接通过调用弹幕工具包的方式,帮助游戏快速接入弹幕功能。另外,将弹幕功能封装在弹幕工具包中,使得弹幕功能可以以SDK产品的形式提供给游戏开发端,为游戏开发端提供即时可用的弹幕功能,提高基于游戏的弹幕功能的开发和使用效率,有效节省成本。
附图说明
附图示例性地示出了实施例并且构成说明书的一部分,与说明书的文字描述一起用于讲解实施例的示例性实施方式。所示出的实施例仅出于例示的目的,并不限制权利要求的范围。在所有附图中,相同的附图标记指代类似但不一定相同的要素。
图1示意性示出了根据本申请实施例一的游戏中的弹幕处理方法的运行环境图;
图2示意性示出了根据本申请实施例一的游戏中的弹幕处理方法的流程图;
图3示意性示出了图2中步骤S202的子步骤流程图;
图4示意性示出了图2中步骤S202的另一子步骤流程图;
图5示意性示出了根据本申请实施例一的游戏中的弹幕处理方法的新增步骤流程图;
图6示意性示出了根据本申请实施例一的游戏中的弹幕处理方法的新增步骤流程图;
图7示意性示出了根据本申请实施例一的游戏中的弹幕处理方法的新增步骤流程图;
图8示意性示出了示意性示出了弹幕工具包的封装结构图。
图9和图10示意性示出了根据本申请实施例一的游戏中的弹幕处理方法的应用示例图;
图11示意性示出了根据本申请实施例二的游戏中的弹幕处理装置的框图;
图12示意性示出了根据本申请实施例三中的计算机设备的硬件架构示意图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本申请,并不用于限定本申请。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
需要说明的是,在本申请实施例中涉及“第一”、“第二”等的描述仅用于描述目的,而不能理解为指示或暗示其相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。另外,各个实施例之间的技术方案可以相互结合,但是必须是以本领域普通技术人员能够实现为基础,当技术方案的结合出现相互矛盾或无法实现时应当认为这种技术方案的结合不存在,也不在本申请要求的保护范围之内。
在本申请的描述中,需要理解的是,步骤前的数字标号并不标识执行步骤的前后顺序,仅用于方便描述本申请及区别每一步骤,因此不能理解为对本申请的限制。
首先,提供本申请涉及的术语解释:
弹幕:通过网络观看视频时弹出的并沿预定方向移动的字幕。弹幕在英文中还没有固定词汇,可以称之为:comment、danmaku、barrage、bullet screen、bullet-screencomment等。弹幕允许观看视频者发表评论或感想,但与普通视频分享网站只在播放器下专用点评区显示不同,其会以滑动字幕的方式实时出现在视频画面上,保证所有观看者都能注意到。弹幕可以通过弹幕系统管理。一些弹幕系统可以利用CSS(Cascading StyleSheets,层叠样式表)或JavaScr ipt语言能提供特定的弹幕形式,如弹幕特定位置出现或消失,控制弹幕弹出速度,弹幕位置等。除此之外,在画面底部或顶部固定出现的弹幕也会作为没字幕视频的字幕使用。
例如,弹幕的数据结构可以如下:
{
发射在视频中的时间单位秒;
弹幕的类型;
弹幕文字的大小;
弹幕文字的颜色;
弹幕创建的日期;
弹幕的类名;
创建弹幕的用户标识;
弹幕标识(如,弹幕群组标识);
弹幕内容(如,文字、图片、控件);
弹幕的持续时间;
弹幕是否有边框;
弹幕边框的颜色;
弹幕的行间样式;
}
SDK(Software Development Kit,软件开发工具包):为集成有一系列工具、库、示例代码、文档等资源的包,旨在帮助开发人员创建、测试和部署特定软件应用程序、框架或平台。
游戏SDK:为集成有账号注册、登录、充值、游戏公告、礼包、数据上报等功能的集合,帮助游戏厂商完成通用功能的业务封装,使游戏厂商专注于游戏内容研发。
视图层(layer):用于管理视图的可视内容,包括视图的背景、边框、阴影以及子视图的组合。layer是视图层次结构中的实际可绘制部分,可以包含绘制内容和用于动画的属性。
其次,为方便本领域技术人员理解本申请实施例提供的技术方案,下面对相关技术进行说明:
随着视频技术的快速发展,越来越多的用户可以通过网络观看各种视频节目。在观看视频节目的过程中,用户可以通过发送弹幕的方式,与主播或其他用户进行互动。
然而,在游戏中,由于弹幕系统涉及多端服务,而搭建弹幕系统以及配置弹幕服务器成本高,单游戏接入时间成本大,使得基于游戏的弹幕功能开发和使用效率低下。此外,在手游中,如果在同一时段渲染大量弹幕,可能会使得弹幕出现卡顿的情况,影响用户体验。
本申请实施例提供了一种游戏中的弹幕处理技术方案。在该技术方案中,(1)将弹幕功能(如弹幕的发布、接收、展示等功能)封装成SDK,以产品形式将该SDK提供给游戏开发,为游戏提供即时可用的弹幕功能,使得游戏可在不感知内部流程的情况下完成弹幕功能的调用。(2)通过提前合并多个弹幕视图层级的方式,将多条弹幕在同一个视图中展示,减少GPU(Graphics Proc essing Unit,图形处理器)的渲染工作,从而解决游戏渲染大量弹幕的卡顿情况。具体见后文。
最后,为了方便理解,下面提供一个示例性运行环境。
如图1所示,所述环境应用示意图包括:弹幕服务端2、游戏终端4、游戏服务端6。
弹幕服务端2可以通过网络连接游戏终端4、游戏服务端6。弹幕服务端2可以为游戏终端提供各种内容和弹幕服务等。如,经由所述网络将弹幕数据发送给游戏终端。所述网络可以包括各种网络设备,例如路由器,交换机,多路复用器,集线器,调制解调器,网桥,中继器,防火墙,代理设备和/或类似。所述网络可以包括物理链路,例如同轴电缆链路,双绞线电缆链路,光纤链路,其组合等。所述网络可以包括无线链路,诸如蜂窝链路,卫星链路,Wi-Fi链路等。
其中,弹幕服务端2可以是单个服务器、服务器集群或云计算服务中心,用于提供各类服务。例如:
弹幕服务端2可以提供内容服务。其中,内容服务可以被配置为提供诸如视频、音频、文本数据其组合等的内容。内容可以包括内容流(例如,视频流、音频流、信息流),内容文件(例如,视频文件、音频文件、文本文件)和/或其他数据。弹幕服务端2可以被配置为管理用于各种内容项的消息。用户可以浏览内容并访问不同的内容项以查看针对特定内容的评论,例如其他用户针对该特定内容发布的评论。来自与特定内容项目相关联的用户的评论可以被输出到观看该特定内容项目的其他用户。例如,访问内容项目(例如,视频)的所有用户可以查看与该内容项目相关联的评论。输入的评论内容可以实时或接近实时地输出。弹幕服务端2可以被配置为接收多个消息。所述多个消息可以包括与内容相关联的多个弹幕。
弹幕服务端2可以被配置为处理多个消息,例如,消息存储、消息筛选、消息推送等各种处理操作。其中,消息存储用于将多个消息存储在诸如数据库的数据存储中。消息筛选可以包括拒绝或标记与筛选标准匹配的消息。其中,筛选标准可以指定术语和/或短语,例如亵渎、仇恨言论、不雅语言等。筛选标准可以指定字符,例如符号、字体等。筛选标准可以指定语言,计算机可读代码模式等。
弹幕服务端2可以执行自然语言处理,主题识别,模式识别,人工智能等,以自动确定消息的特征和/或对消息进行分组。作为示例,频繁出现的短语或模式可以被识别为主题。作为另一个示例,可以维护与内容相关联的主题的数据库。主题可以包括流派(例如,动作,戏剧,喜剧),个性(例如,演员,女演员,导演),语言等。可以基于游戏终端设备和/或发送消息的用户的特征对消息进行分组。可以存储人口统计学,兴趣,历史和/或类似物以供多个用户确定消息的潜在分组。例如,可以对各个用户上传的弹幕进行筛选、过滤、排序以及个性化推送等。
弹幕服务端2可以提供弹幕分发服务,该弹幕分发服务被配置为允许用户评论和/或共享与内容相关联的评论(即弹幕)。弹幕与内容一起呈现在同一屏幕上。弹幕可以在内容上方的覆盖图中显示,并可以带有动画效果。如,弹幕可以滚动(如,从右到左、从左到右、从上到下、…),该动画效果可以基于CSS3的transition属性实现。
弹幕服务端2还可以提供弹幕配置参数生成服务,用于为游戏终端生成对应的弹幕配置参数。
游戏终端4可以被配置为访问弹幕服务端2的内容和服务。游戏终端4可以包括携带或外接显示面板的电子设备,如移动设备、平板设备、膝上型计算机、工作站、虚拟现实设备,游戏设备、数字流媒体设备、车辆游戏终端、智能电视、机顶盒等,也可以包括虚拟化的计算实例。虚拟化的计算实例可以包括虚拟机,如计算机系统,操作系统,服务器等的仿真。游戏终端4可以与一个或多个用户相关联。单个用户也可以使用游戏终端4中的一个或多个来访问弹幕服务端2。游戏终端4可以旅行到各种位置并使用不同的网络来访问弹幕服务端2。
游戏终端4可以包括游戏程序以及封装有弹幕功能的弹幕工具包等。在本实施例中,通过直接调用弹幕工具包将弹幕服务端2提供弹幕进行处理并显示到游戏界面上。在本实施例中,游戏终端4可以通过弹幕工具包获取即时可用的弹幕功能,如弹幕的发布、接收、展示等,进而将弹幕内容以特定方式呈现在游戏终端的游戏界面上。游戏终端可以包括接口,该接口可以包括触摸板、触摸屏、鼠标、键盘或其他感应元素。例如,输入元件可以被配置为接收用户指令,所述用户指令可以使游戏终端执行各类操作,如输入弹幕、输入弹幕的配置参数等。
游戏服务端6,可以是单个服务器、服务器集群或云计算服务中心,用于提供各类游戏服务,如用户管理服务、游戏数据管理服务。此外,所述游戏服务端还可以与弹幕服务端2进行交互,如将游戏用户的用户数据等提供给弹幕服务端2,以使弹幕服务端2为游戏终端生成相应的弹幕配置数据以及群组ID(Identifier)等。
需注意,上述设备是示例性的,在不同的场景中或根据不同需求,设备数量和种类是可调的。
下面以目标游戏终端(游戏终端4)为执行主体,通过多个实施例介绍本申请的技术方案。须知,这些实施例可以由多种不同的形式来实施,并且不应当被解释为只限于这里所阐述的实施例。
实施例一
图2示意性示出了根据本申请实施例一的游戏中的弹幕处理方法的流程图。所述游戏中的弹幕处理方法可以用于目标游戏终端4中,该目标游戏终端4配置有弹幕工具包。如图2所示,该游戏中的弹幕处理方法可以包括步骤S200~S204,其中:
步骤S200,在弹幕工具包处于调用状态下,通过弹幕工具包接收弹幕服务端分发的弹幕数据。
步骤S202,在弹幕工具包内对所述弹幕数据进行渲染,以绘制弹幕视图层。
步骤S204,将所述弹幕视图层展示在游戏界面上,以在游戏界面的指定区域显示弹幕内容。
本实施例提供的游戏中的弹幕处理方法,将弹幕功能封装成弹幕工具包并将该弹幕工具包设置目标游戏终端4上。在目标游戏终端4需要显示弹幕时,可以直接通过调用弹幕工具包从弹幕服务端2接收弹幕并完成弹幕的渲染,从而绘制出相应的弹幕视图层。继而将该弹幕视图层展示在游戏界面上,以在游戏界面显示弹幕内容。即在不感知内部流程的情况下完成弹幕功能的调用。可知,在游戏需要显示弹幕时,可以直接通过调用弹幕工具包的方式,帮助游戏快速接入弹幕功能。另外,将弹幕功能封装在弹幕工具包中,使得弹幕功能可以以SDK产品的形式提供给游戏开发端,为游戏开发端提供即时可用的弹幕功能,提高基于游戏的弹幕功能的开发和使用效率,有效节省成本。
以下结合图2,对步骤S200~S204中各个步骤以及可选的其他步骤进行详细阐述。
步骤S200,在弹幕工具包处于调用状态下,通过弹幕工具包接收弹幕服务端2分发的弹幕数据。
弹幕工具包(也可以称之为弹幕SDK)可以通过开启弹幕接口提供调用入口,为目标游戏终端4提供弹幕功能。弹幕功能可以包括弹幕的接收、渲染、发布、展示等。
在示例性应用中,弹幕工具包可以提供开启弹幕接口、发送弹幕接口等各类接口。
(1)在需要展示弹幕的场景前可以调用:开启弹幕接口。
在开启弹幕接口被调用的情况下,弹幕工具包会初始化以实施弹幕功能个性化配置。
(2)游戏在发送弹幕场景时可以调用:发送弹幕接口。
在发送弹幕接口被调用的情况下,弹幕工具包会进行弹幕的封装、发送与回执接收等。
如图1所示,弹幕服务端2可以接收各个游戏终端的弹幕数据,并将弹幕数据下发。具体地:弹幕服务端2在接收到某个游戏终端发送的弹幕数据之后,可以将弹幕数据对应发送给多个游戏终端。举例而言,弹幕服务端2在接收到处于聊天组1中目标游戏终端4发送的弹幕数据a之后,可以将弹幕数据a分发给聊天组中所有的游戏终端。
步骤S202,在弹幕工具包内对所述弹幕数据进行渲染,以绘制弹幕视图层。
渲染是将弹幕内容(如图形、文本或其他数据)转换为可见图像的过程。
弹幕视图层可以指在游戏界面上显示弹幕的特定图层。通过所述弹幕视图层,可以有效地控制和管理弹幕的展示效果,如:(1)显示位置:如可以是游戏界面底部、顶部或者其他指定的位置。(2)弹幕样式:如大小、颜色、边框等。(3)弹幕的持续时间:弹幕在游戏界面上的停留时间。(4)弹幕的动画效果:如弹幕的进入、移动和退出效果。
弹幕可能存在多种类型,为了高效且正确地解析出各自弹幕并用于渲染,以下提供一个可选的实施例。
在可选的实施例中,如图3所示,所述步骤S202可以包括:
步骤S300,通过弹幕工具包解析所述弹幕数据,以获取目标弹幕类型。
步骤S302,根据所述目标弹幕类型,创建与所述目标弹幕类型对应的弹幕解析器。
步骤S304,通过对应的弹幕解析器解析所述弹幕数据以得到目标类型的待渲染弹幕数据,以用于渲染。
弹幕类型可以根据弹幕的内容、形式和用途等方面划分和定义为不同的类型。需要说明的是,弹幕类型的划分可以根据实际情况进行选择,如:(1)根据弹幕内容划分,如可以将弹幕划分为文字形弹幕、图片形弹幕等;(2)根据滚动方式划分,如可以将弹幕划分自右向左滚动类型的弹幕、自左向右滚动类型的弹幕等;(3)根据弹幕边框划分,如可以将弹幕划分为携带边框的弹幕、未携带边框的弹幕。
每个弹幕数据的解析都需要一个与弹幕数据类型对应的弹幕解析器。弹幕解析器用于解析弹幕数据,以识别出文本内容、显示时间、颜色、字体等弹幕信息,并将这些弹幕信息转化为相应格式,从而得到待渲染数据以用于后续的渲染操作。
在上述可选的实施例中,根据弹幕数据的目标弹幕类型创建对应的弹幕解析器,继而可以通过该弹幕解析器正确快速地解析弹幕数据,以便后续可以直接根据解析出的待渲染数据进行渲染操作。
目标游戏终端4对弹幕进行渲染时,每个弹幕可以对应创建一个视图层级。若某个时段弹幕较多,相对应地,该时段需要创建的视图层级也就越多。然而,视图层级越多,GPU在渲染UI(User Interface,用户界面)时所耗费的时间就越多,如果渲染耗时超过1/60秒就会产生肉眼可见的卡顿情况。也即展示大量弹幕占用太多GPU资源,导致GPU未能在下一个刷新帧前完成渲染工作,在游戏中显示弹幕容易出现卡顿的情况。因此,为了减缓上述卡顿情况,提供以下可选的实施例。
在可选的实施例中,所述弹幕数据的数量为多个。如图4所示,所述步骤S202可以包括:
步骤S400,获取弹幕视图层的预设显示数量。
步骤S402,从多个所述弹幕数据中确定显示时间位于目标时段的若干个弹幕数据。
步骤S404,根据所述预设显示数量,将所述若干个弹幕数据中的至少部分弹幕数据合并在一个视图层上。
步骤S406,基于同一个视图层,对所述至少部分弹幕数据渲染,以绘制在同一个弹幕视图层。
所述预设显示数量可以是指游戏界面上可以同时显示的弹幕数量的上限,通过设置预设显示数量,可以控制在游戏界面上显示的弹幕密度。所述预设显示数量可以根据弹幕类型等信息来确定,如可以为20、25个。
在示例性的应用中,假设目标时段有45个弹幕数据,若直接为目标时段中的每个弹幕数据创建一个视图层级,则在渲染时,可能会出现因需渲染的视图层级过多而导致弹幕出现卡顿的情况。因此,为了缓解上述情况,可以提前合并多个弹幕视图层级,即将多个弹幕在同一个弹幕视图层中展示,以减少需要渲染的弹幕视图层级的数量。然而,在弹幕数据过多的情况下,若直接将所有的弹幕数据在一个弹幕视图层中展示,可能会出现弹幕过于密集(相互覆盖)的情况。因此,为了避免出现上述弹幕过于密集的情况,可以根据预设显示数量,将若干个弹幕数据中的至少部分弹幕数据合并在一个视图层,如可以将20条弹幕数据合并在一个视图层A。在此基础上,基于该视图层A对上述20条弹幕数据进行渲染,以将该20条弹幕数据绘制在同一个弹幕视图层中。
在上述可选的实施例中,提前通过CPU计算和确定哪些弹幕数据合并在同一个视图层,从而可以减少GPU的渲染工作负担,减少GPU渲染时所耗费的时间,提高渲染效率,减少出现卡顿的情况。此外,根据预设显示数量将至少部分弹幕数据合并在一个视图层上,可以保障游戏界面上弹幕内容显示的密度,减少出现弹幕过于密集的情况。
步骤S204,将所述弹幕视图层展示在游戏界面上,以在游戏界面的指定区域显示弹幕内容。
所述指定区域可以为游戏界面上弹幕的显示区域,如游戏界面的顶部、右侧、左侧等位置。
所述弹幕内容可以是由游戏终端关联的游戏用户以弹幕形式发送的评论、留言或互动内容。
上述实施例介绍了目标游戏终端4如何通过弹幕工具包对弹幕服务端2分发的弹幕数据进行接收和渲染等操作,从而将弹幕内容显示在游戏界面的指定区域。下面将介绍目标游戏终端4如何将弹幕发送至弹幕服务端2,以使弹幕服务端2对弹幕数据进行处理并分发。
在可选的实施例中,如图5所示,所述方法还可以包括:
步骤S500,在弹幕工具包处于调用状态下,将弹幕内容传输至所述弹幕工具包中。
步骤S502,通过弹幕工具包根据弹幕内容封装得到目标弹幕数据。
步骤S504,通过弹幕工具包将所述目标弹幕数据发送至弹幕服务端,以使弹幕服务端处理所述目标弹幕数据并分发。
在示例性的应用中,若目标游戏终端4(已调用弹幕工具包)想要将弹幕内容A以弹幕形式发送至聊天组1所有的游戏终端中,可以通过以下操作实现:首先,可以将弹幕内容A传输至目标游戏终端4的弹幕工具包中。弹幕工具包接收到该弹幕内容A之后,便会对弹幕内容A进行封装,以得到目标弹幕数据a。之后,弹幕工具包可以将该目标弹幕数据a发送至弹幕服务端2,以使弹幕服务端2对目标弹幕数据a进行处理(如为弹幕数据添加用户标识)。弹幕服务端2对目标弹幕数据a处理后,便可以将目标弹幕数据a分发至聊天组1中所有的游戏终端中,以在游戏界面上显示该弹幕内容A。
在示例性的应用中,目标游戏终端4通过BarrageApi(发送弹幕接口)调用弹幕工具包,弹幕工具包会基于输入的弹幕内容进行封装并将封装好的目标弹幕数据发送给弹幕服务端2。封装好的目标弹幕数据可以携带文字内容、弹幕颜色、头像、发送对象等各类信息。弹幕服务端2拿到数据后,再将处理后的目标弹幕数据推送至指定的游戏终端。
BarrageApi是一个代表对弹幕API的请求的类,包括但不限于以下属性:
content:弹幕消息的内容。
color:弹幕消息的颜色。
size:弹幕消息的大小。
position:弹幕消息的位置。
receiver:弹幕消息的接收者。
uid:弹幕消息的唯一标识符。
在上述可选的实施例中,在游戏用户需要发弹幕时,可以先通过目标游戏终端4中配置的弹幕工具包接收并封装游戏用户输入的弹幕内容。之后再将封装得到的目标弹幕数据发送至弹幕服务端2,以使弹幕服务端2将目标弹幕数据分发至相应的游戏终端中。可知,通过弹幕工具包快速地实现目标弹幕数据的封装以及发送,以便后续弹幕弹幕服务端2可以有效地将该目标弹幕数据分发给多个游戏终端。
不同的游戏终端可以有不同的弹幕配置数据,从而形成个性化的显示效果。具体如下:
在可选的实施例中,所述弹幕工具包中配置有弹幕配置数据。所述步骤S502可以包括:通过弹幕工具包根据所述弹幕配置数据对弹幕内容进行封装,以得到目标弹幕数据。
弹幕配置数据可以是用于定义和控制弹幕内容在游戏界面上的显示方式和行为的数据,如:(1)显示样式:弹幕的字体、大小、颜色、边框等外观属性;(2)滚动方式:如横向滚动或纵向滚动等;(3)持续时间:弹幕在游戏界面上停留的时间。(4)动画效果:弹幕出现和消失时的动画效果,如淡入淡出、滑动等。
在上述可选的实施例中,在弹幕工具包中设置相应的弹幕配置数据,从而在弹幕工具包内部实现对弹幕内容的封装,提高弹幕内容的封装效率和实现个性化的弹幕显示效果。
需要说明的是,弹幕工具包中设置的弹幕配置数据既可以由弹幕服务端2提供,也可以由目标游戏终端4关联的游戏用户输入设定,具体如下:
获取方式一:由弹幕服务端2提供弹幕配置数据。
在可选的实施例中,所述弹幕配置数据预先从所述弹幕服务端获取。例如,在SDK开启弹幕接口被调用的情况下,弹幕工具包会初始化以实施弹幕功能个性化配置。如图6所示,初始化操作如下:
步骤S600,通过弹幕工具包创建弹幕视图层并生成弹幕参数配置请求。
步骤S602,在弹幕工具包与所述弹幕服务端建立连接的情况下,发送弹幕参数配置请求至所述弹幕服务端,以便所述弹幕服务端根据所述弹幕参数配置请求返回所述弹幕配置数据。
所述弹幕参数配置请求可以是指获取弹幕配置数据的请求。弹幕服务端2接收到弹幕参数配置请求之后,可以根据弹幕参数配置请求返回相应的弹幕配置数据。所述弹幕参数配置请求中可以携带对弹幕显示场景、弹幕颜色、弹幕大小、弹幕速度等的询问数据。
在上述可选的实施例中,弹幕工具包获取到目标游戏终端4特定的弹幕配置数据,之后,可以在内部根据特定的弹幕配置数据快速且个性化地封装弹幕内容,提高弹幕封装效率。
在可选的实施例中,如图7所示,所述弹幕配置数据是弹幕服务端通过以下操作得到:
步骤S700,从游戏服务端获取与目标游戏终端关联的目标对象的对象数据。
步骤S702,根据所述目标对象的对象数据,为所述目标对象生成对应的所述弹幕配置数据。
所述目标对象可以为与目标游戏终端4关联的游戏用户。
所述对象数据可以是游戏服务端6收集到的关于目标对象的各种数据信息,如:(1)目标对象的基本信息:如目标对象账号、地理位置等基本信息;(2)游戏行为数据:如游戏等级、游戏时长、游戏任务完成情况、成就达成情况等;(3)行为数据,如互动数值、互动频率、购买虚拟物品或游戏内货币的情况等。需要说明的是,不同目标对象的弹幕配置数据可以不同。示例性地,若目标对象A为高价值玩家,则在为目标对象A设置弹幕配置数据时,可以添加特殊的动画效果,如闪烁、缩放、渐变等。
在一些实施例中,弹幕服务端在为目标对象生成对应的弹幕配置数据时,还会为所述目标对象生成相应的用户ID。
在上述可选的实施例中,在为目标游戏终端4确定弹幕配置数据时,可以从游戏服务端获取到目标对象(与目标游戏终端4关联的对象)的对象数据,进而根据该对象数据个性化地确定弹幕配置数据,提高弹幕的交互效果和弹幕展示效果。
获取方式二:由目标游戏终端4提供弹幕配置数据。
在可选的实施例中,所述弹幕配置数据通过所述目标游戏终端4输入获取。
目标游戏终端4可以关联目标游戏用户。目标游戏用户在发送弹幕内容之前,可以通过目标游戏终端4输入相应的弹幕配置数据(如字体、大小、颜色等),以调整后续弹幕内容在游戏界面上的显示效果。
在示例性的应用中,可以将弹幕大小、显示时机、显示区域等参数封装至BarrageConfig等代码类,由游戏控制弹幕参数。游戏终端中的BarrageConfig等代码类可以将弹幕配置参数以及弹幕配置数据传入弹幕工具包,以使弹幕工具包获取到弹幕配置数据。
在上述可选的实施例中,由目标游戏终端4关联的目标游戏用户自行设置弹幕配置数据,可以实现弹幕配置数据的个性化设置,从而提高交互效果和弹幕展示效果。
在可选的实施例中,所述目标弹幕数据中还可以携带有群组标识。其中,所述群组标识用于指示弹幕服务端将所述目标弹幕数据发送到指定群组的游戏终端。
所述群组标识可以是用于区分不同聊天群组的标识信息,如可以为群组ID、群组名称等。在一些实施例中,所述群组标识可以在所述初始化操作过程中由弹幕服务端下发得到。
在上述可选的实施例中,弹幕服务端2通过目标弹幕数据上携带的群组标识,可以将目标弹幕数据正确地发送到指定群组的游戏终端,从而保障目标弹幕数据的正确分发。
所述弹幕工具包可以为游戏终端提供相应的弹幕功能,如弹幕的接收功能、渲染功能、展示功能等。不同的功能可以由相应的功能模块实现,以下具体介绍弹幕工具包中的各个功能模块。
在可选的实施例中,如图8所示,所述弹幕工具包包括弹幕逻辑引擎模块以及弹幕渲染模块,其中:
弹幕逻辑引擎模块,包括弹幕底层渲染模块(BarrageRenderer)、弹幕调度模块(BarrageDispatcher)、弹幕创建模块(BarrageCreateor)。其中,所述弹幕底层渲染模块用于负责弹幕数据的底层渲染逻辑,所述弹幕调度模块用于负责弹幕数据的接收与发送,所述弹幕调度模块用于创建弹幕数据的主体。
弹幕渲染模块,用于对弹幕数据进行渲染。其中,所述弹幕渲染模块包括解释器模块、图层绘制模块、弹幕视图层创建与展示模块。
弹幕渲染模块对弹幕数据进行渲染时,需要涉及到多个模块的配合,具体地:解释器模块用于负责解析接收到的弹幕数据,将弹幕数据转换为可用于显示的格式或对象,即解析弹幕数据中的内容、位置、样式、显示时间等弹幕信息,以便后续图层绘制模块、弹幕视图层创建与展示模块对解析后的弹幕数据进行处理和显示。图层绘制模块(BarrageLayer)可以用于Layer层面的绘制,即可用于创建用于渲染弹幕内容的弹幕视图层(Layer),所述弹幕视图层可以用于显示弹幕内容。弹幕视图层创建与展示模块(BarrageView)可以用于将弹幕数据以特定的方式绘制在弹幕视图层上,即创建出可视化的弹幕,以便将弹幕内容展示在游戏界面上。
在上述可选的实施例中,通过在弹幕工具包中封装弹幕逻辑引擎模块、弹幕渲染模块等功能模块,使弹幕工具包具有独立且完善的弹幕功能,从而在弹幕工具包的内部就可以完成弹幕的接收、渲染等操作。在游戏需要接入弹幕功能时,可以直接调用该弹幕工具包,帮助游戏快速接入弹幕功能。另外,将弹幕功能封装在弹幕工具包中,使得弹幕功能可以以SDK产品的形式提供给游戏开发端,为游戏开发端提供即时可用的弹幕功能,提高基于游戏的弹幕功能的开发和使用效率,有效节省成本。
为了使得本申请更加容易理解,以下结合图9、图10提供一个示例性应用。
在该示例性应用中,弹幕服务端2、游戏服务端6和目标游戏终端4(配置有弹幕工具包)通过网络相互连接。
弹幕工具包的初始化操作:
S01,目标游戏终端调用开启弹幕接口。
S02,弹幕工具包建立弹幕视图层并生成弹幕参数配置请求。
S03,弹幕工具包发送连接请求,与弹幕服务端2建立长连接。
S04,弹幕工具包发送弹幕参数配置请求至弹幕服务端2。
S05,弹幕服务端2从游戏服务端获取用户数据等信息。
S06,弹幕服务端2结合用户数据等信息生成弹幕配置数据。
S07,弹幕服务端2生成用户、群组ID,并将弹幕配置数据下发至弹幕工具包中。
在进行了初始化操作之后,便可以对通过弹幕工具包执行相应的弹幕功能。
弹幕工具包的使用:
S11,目标游戏终端4将弹幕内容传输至弹幕工具包中。
S12,弹幕工具包根据弹幕配置数据对弹幕内容封装,以得到目标弹幕数据;
需要说明的是,弹幕配置数据可以通过上述初始化操作得到,也可以通过目标游戏终端4输入。
S13,弹幕工具包将目标弹幕数据发送至弹幕服务端2。
S14,弹幕服务端2对目标弹幕数据进行处理并分发至多个游戏终端。
S15,弹幕工具包接收弹幕服务端2分发的弹幕数据,该弹幕数据可以包括目标弹幕数据和其他游戏终端提供的弹幕数据。
S16,在弹幕工具包内对接收到的弹幕数据进行渲染,以绘制弹幕视图层;需要说明的是:
①通过弹幕解析器解析接收到的弹幕数据以得到待渲染数据,然后对待渲染数据进行渲染。
②同一时段有多个弹幕数据时,可以将多个弹幕数据中的至少部分弹幕数据合并在同一个视图层上展示;
S17,将弹幕视图层展示在游戏界面上,以在游戏界面显示弹幕内容。
实施例二
图11示意性示出了根据本申请实施例二的游戏中的弹幕处理装置的框图,该游戏中的弹幕处理装置可以被分割成一个或多个程序模块,一个或者多个程序模块被存储于存储介质中,并由一个或多个处理器所执行,以完成本申请实施例。本申请实施例所称的程序模块是指能够完成特定功能的一系列计算机程序指令段,以下描述将具体介绍本实施例中各程序模块的功能。如图11所示,该游戏中的弹幕处理装置1100可以包括:接收模块1110、渲染模块1120、展示模块1130,其中:
接收模块1110,用于在弹幕工具包处于调用状态下,通过弹幕工具包接收弹幕服务端分发的弹幕数据;
渲染模块1120,用于在弹幕工具包内对所述弹幕数据进行渲染,以绘制弹幕视图层;
展示模块1130,用于将所述弹幕视图层展示在游戏界面上,以在游戏界面的指定区域显示弹幕内容。
在可选的实施例中,所述渲染模块1120还用于:
通过弹幕工具包解析所述弹幕数据,以获取目标弹幕类型;
根据所述目标弹幕类型,创建与所述目标弹幕类型对应的弹幕解析器;
通过对应的弹幕解析器解析所述弹幕数据以得到目标类型的待渲染弹幕数据,以用于渲染。
在可选的实施例中,所述弹幕数据的数量为多个;所述渲染模块1120还用于:
获取弹幕视图层的预设显示数量;
从多个所述弹幕数据中确定显示时间位于目标时段的若干个弹幕数据;
根据所述预设显示数量,将所述若干个弹幕数据中的至少部分弹幕数据合并在一个视图层上;
基于同一个视图层,对所述至少部分弹幕数据渲染,以绘制在同一个弹幕视图层。
在可选的实施例中,所述游戏中的弹幕处理装置还可以包括发送模块,所述发送模块用于:
在弹幕工具包处于调用状态下,将弹幕内容传输至所述弹幕工具包中;
通过弹幕工具包根据弹幕内容封装得到目标弹幕数据;
通过弹幕工具包将所述目标弹幕数据发送至弹幕服务端,以使弹幕服务端处理所述目标弹幕数据并分发。
在可选的实施例中,所述弹幕工具包中配置有弹幕配置数据;对应地,所述发送模块还用于:
通过弹幕工具包根据所述弹幕配置数据对弹幕内容进行封装,以得到目标弹幕数据。
在可选的实施例中,所述弹幕配置数据预先从所述弹幕服务端获取;所述游戏中的弹幕处理装置还可以包括初始化模块,所述初始化模块用于:
通过弹幕工具包创建弹幕视图层并生成弹幕参数配置请求;
在弹幕工具包与所述弹幕服务端建立连接的情况下,发送弹幕参数配置请求至所述弹幕服务端,以便所述弹幕服务端根据所述弹幕参数配置请求返回所述弹幕配置数据。
在可选的实施例中,所述初始化模块还用于:
从游戏服务端获取与目标游戏终端关联的目标对象的对象数据;
根据所述目标对象的对象数据,为所述目标对象生成对应的所述弹幕配置数据。
在可选的实施例中,所述弹幕配置数据通过所述目标游戏终端输入获取。
在可选的实施例中,所述目标弹幕数据中携带有群组标识;
其中,所述群组标识用于指示弹幕服务端将所述目标弹幕数据发送到指定群组的游戏终端。
在可选的实施例中,所述弹幕工具包包括:
弹幕逻辑引擎模块,包括弹幕底层渲染模块、弹幕调度模块、弹幕创建模块;其中,所述弹幕底层渲染模块用于负责弹幕数据的底层渲染逻辑,所述弹幕调度模块用于负责弹幕数据的接收与发送,所述弹幕调度模块用于创建弹幕数据的主体;
弹幕渲染模块,用于对弹幕数据进行渲染;其中,所述弹幕渲染模块包括解释器模块、图层绘制模块、弹幕视图层创建与展示模块。
实施例三
图12示意性示出了根据本申请实施例三的适于实现游戏中的弹幕处理方法的计算机设备10000的硬件架构示意图。在一些实施例中,计算机设备10000可以是智能手机、可穿戴设备、平板电脑、个人电脑、车载终端、游戏机、虚拟设备、工作台、数字助理、机顶盒、机器人等终端设备。在另一些实施例中,计算机设备10000可以是机架式服务器、刀片式服务器、塔式服务器或机柜式服务器(包括独立的服务器,或多个服务器所组成的服务器集群)等。如图11所示,所述计算机设备10000包括但不限于:可通过系统总线相互通信链接存储器10010、处理器10020、网络接口10030。其中:
存储器10010至少包括一种类型的计算机可读存储介质,可读存储介质包括闪存、硬盘、多媒体卡、卡型存储器(如,SD或DX存储器)、随机访问存储器(RAM)、静态随机访问存储器(SRAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、可编程只读存储器(PROM)、磁性存储器、磁盘、光盘等。在一些实施例中,存储器10010可以是计算机设备10000的内部存储模块,例如该计算机设备10000的硬盘或内存。在另一些实施例中,存储器10010也可以是计算机设备10000的外部存储设备,例如该计算机设备10000上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。当然,存储器10010还可以既包括计算机设备10000的内部存储模块也包括其外部存储设备。本实施例中,存储器10010通常用于存储安装于计算机设备10000的操作系统和各类应用软件,例如游戏中的弹幕处理方法的程序代码等。此外,存储器10010还可以用于暂时地存储已经输出或者将要输出的各类数据。
处理器10020在一些实施例中可以是中央处理器(Central Processing Unit,CPU)、控制器、微控制器、微处理器、或其他芯片。该处理器10020通常用于控制计算机设备10000的总体操作,例如执行与计算机设备10000进行数据交互或者通信相关的控制和处理等。本实施例中,处理器10020用于运行存储器10010中存储的程序代码或者处理数据。
网络接口10030可包括无线网络接口或有线网络接口,该网络接口10030通常用于在计算机设备10000与其他计算机设备之间建立通信链接。例如,网络接口10030用于通过网络将计算机设备10000与外部终端相连,在计算机设备10000与外部终端之间建立数据传输通道和通信链接等。网络可以是企业内部网(Intranet)、互联网(Internet)、全球移动通讯系统(Global System of Mobile communication,简称为GSM)、宽带码分多址(WidebandCode Divi sion Multiple Access,简称为WCDMA)、4G网络、5G网络、蓝牙(Bluetoo th)、Wi-Fi等无线或有线网络。
需要指出的是,图12仅示出了具有部件10010-10030的计算机设备,但是应该理解的是,并不要求实施所有示出的部件,可以替代地实施更多或者更少的部件。
在本实施例中,存储于存储器10010中的游戏中的弹幕处理方法还可以被分割为一个或者多个程序模块,并由一个或多个处理器(如处理器10020)所执行,以完成本申请实施例。
实施例四
本申请实施例还提供一种计算机可读存储介质,计算机可读存储介质其上存储有计算机程序,其中,计算机程序被处理器执行时实现实施例中的游戏中的弹幕处理方法的步骤。
本实施例中,计算机可读存储介质包括闪存、硬盘、多媒体卡、卡型存储器(例如,SD或DX存储器等)、随机访问存储器(RAM)、静态随机访问存储器(SRAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEP ROM)、可编程只读存储器(PROM)、磁性存储器、磁盘、光盘等。在一些实施例中,计算机可读存储介质可以是计算机设备的内部存储单元,例如该计算机设备的硬盘或内存。在另一些实施例中,计算机可读存储介质也可以是计算机设备的外部存储设备,例如该计算机设备上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。当然,计算机可读存储介质还可以既包括计算机设备的内部存储单元也包括其外部存储设备。本实施例中,计算机可读存储介质通常用于存储安装于计算机设备的操作系统和各类应用软件,例如实施例中游戏中的弹幕处理方法的程序代码等。此外,计算机可读存储介质还可以用于暂时地存储已经输出或者将要输出的各类数据。
显然,本领域的技术人员应该明白,上述的本申请实施例的各模块或各步骤可以用通用的计算机设备来实现,它们可以集中在单个的计算机设备上,或者分布在多个计算机设备所组成的网络上,可选地,它们可以用计算机设备可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算机设备来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本申请实施例不限制于任何特定的硬件和软件结合。
需要说明的是,以上仅为本申请的优选实施例,并非因此限制本申请的专利保护范围,凡是利用本申请说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本申请的专利保护范围内。
Claims (13)
1.一种游戏中的弹幕处理方法,其特征在于,用于配置有弹幕工具包的目标游戏终端;所述方法包括:
在弹幕工具包处于调用状态下,通过弹幕工具包接收弹幕服务端分发的弹幕数据;
在弹幕工具包内对所述弹幕数据进行渲染,以绘制弹幕视图层;
将所述弹幕视图层展示在游戏界面上,以在游戏界面的指定区域显示弹幕内容。
2.根据权利要求1所述的方法,其特征在于,在弹幕工具包内对所述弹幕数据进行渲染,包括:
通过弹幕工具包解析所述弹幕数据,以获取目标弹幕类型;
根据所述目标弹幕类型,创建与所述目标弹幕类型对应的弹幕解析器;
通过对应的弹幕解析器解析所述弹幕数据以得到目标类型的待渲染弹幕数据,以用于渲染。
3.根据权利要求1所述的方法,其特征在于,所述弹幕数据的数量为多个;
对应地,在弹幕工具包内对所述分发的弹幕数据进行渲染,以绘制弹幕视图层,包括:
获取弹幕视图层的预设显示数量;
从多个所述弹幕数据中确定显示时间位于目标时段的若干个弹幕数据;
根据所述预设显示数量,将所述若干个弹幕数据中的至少部分弹幕数据合并在一个视图层上;
基于同一个视图层,对所述至少部分弹幕数据渲染,以绘制在同一个弹幕视图层。
4.根据权利要求1所述的方法,其特征在于,所述方法还包括:
在弹幕工具包处于调用状态下,将弹幕内容传输至所述弹幕工具包中;
通过弹幕工具包根据弹幕内容封装得到目标弹幕数据;
通过弹幕工具包将所述目标弹幕数据发送至弹幕服务端,以使弹幕服务端处理所述目标弹幕数据并分发。
5.根据权利要求4所述的方法,其特征在于,所述弹幕工具包中配置有弹幕配置数据;对应地,所述通过弹幕工具包根据弹幕内容封装得到目标弹幕数据,包括:
通过弹幕工具包根据所述弹幕配置数据对弹幕内容进行封装,以得到目标弹幕数据。
6.根据权利要求4所述的方法,其特征在于,所述弹幕配置数据预先从所述弹幕服务端获取;
所述方法还包括初始化操作:
通过弹幕工具包创建弹幕视图层并生成弹幕参数配置请求;
在弹幕工具包与所述弹幕服务端建立连接的情况下,发送弹幕参数配置请求至所述弹幕服务端,以便所述弹幕服务端根据所述弹幕参数配置请求返回所述弹幕配置数据。
7.根据权利要求6所述的方法,其特征在于,所述弹幕配置数据是弹幕服务端通过以下操作得到:
从游戏服务端获取与目标游戏终端关联的目标对象的对象数据;
根据所述目标对象的对象数据,为所述目标对象生成对应的所述弹幕配置数据。
8.根据权利要求4所述的方法,其特征在于,所述弹幕配置数据通过所述目标游戏终端输入获取。
9.根据权利要求4所述的方法,其特征在于,所述目标弹幕数据中携带有群组标识;
其中,所述群组标识用于指示弹幕服务端将所述目标弹幕数据发送到指定群组的游戏终端。
10.根据权利要求1至9任意一项所述的方法,其特征在于,所述弹幕工具包包括:
弹幕逻辑引擎模块,包括弹幕底层渲染模块、弹幕调度模块、弹幕创建模块;其中,所述弹幕底层渲染模块用于负责弹幕数据的底层渲染逻辑,所述弹幕调度模块用于负责弹幕数据的接收与发送,所述弹幕调度模块用于创建弹幕数据的主体;
弹幕渲染模块,用于对弹幕数据进行渲染;其中,所述弹幕渲染模块包括解释器模块、图层绘制模块、弹幕视图层创建与展示模块。
11.一种游戏中的弹幕处理装置,其特征在于,所述装置包括:
接收模块,用于在弹幕工具包处于调用状态下,通过弹幕工具包接收弹幕服务端分发的弹幕数据;
渲染模块,用于在弹幕工具包内对所述弹幕数据进行渲染,以绘制弹幕视图层;
展示模块,用于将所述弹幕视图层展示在游戏界面上,以在游戏界面的指定区域显示弹幕内容。
12.一种计算机设备,其特征在于,包括:
至少一个处理器;及
与所述至少一个处理器通信连接的存储器;其中:
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行权利要求1至10中任一项所述的方法。
13.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质内存储有计算机指令,所述计算机指令被处理器执行时实现如权利要求1至10中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311741229.6A CN117750085A (zh) | 2023-12-15 | 2023-12-15 | 游戏中的弹幕处理方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311741229.6A CN117750085A (zh) | 2023-12-15 | 2023-12-15 | 游戏中的弹幕处理方法和装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117750085A true CN117750085A (zh) | 2024-03-22 |
Family
ID=90250268
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311741229.6A Pending CN117750085A (zh) | 2023-12-15 | 2023-12-15 | 游戏中的弹幕处理方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117750085A (zh) |
-
2023
- 2023-12-15 CN CN202311741229.6A patent/CN117750085A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110795195A (zh) | 一种网页渲染方法、装置、电子设备及存储介质 | |
CN108289234B (zh) | 一种虚拟礼物特效动画展示方法、装置和设备 | |
CN110874217B (zh) | 快应用的界面显示方法、装置及存储介质 | |
CN111031400B (zh) | 弹幕呈现方法和系统 | |
CN109845250B (zh) | 用于影像的效果共享方法及系统 | |
EP2711846A1 (en) | Method and device for processing template file | |
CN111031376B (zh) | 基于微信小程序的弹幕处理方法和系统 | |
CN113411664B (zh) | 基于子应用的视频处理方法、装置和计算机设备 | |
CN112929681A (zh) | 视频流图像渲染方法、装置、计算机设备及存储介质 | |
CN113055750A (zh) | 直播方法、装置、终端及存储介质 | |
CN112929680A (zh) | 直播间图像渲染方法、装置、计算机设备及存储介质 | |
CN111949358A (zh) | 动态显示的方法、装置、可读介质和电子设备 | |
CN113672405A (zh) | 数据交互系统和基于数据交互系统的页面展示方法 | |
CN112307403A (zh) | 页面渲染方法、装置、存储介质以及终端 | |
CN111741367A (zh) | 视频互动方法、装置、电子设备及计算机可读存储介质 | |
US11991420B2 (en) | Live commenting processing method and system | |
CN111008057A (zh) | 页面展示方法、装置及存储介质 | |
CN110865863A (zh) | 快应用的界面显示方法、装置及存储介质 | |
CN109905753B (zh) | 角标的显示方法和装置、存储介质、电子装置 | |
CN111046265A (zh) | 卡片数据显示方法、装置、设备及存储介质 | |
CN117750085A (zh) | 游戏中的弹幕处理方法和装置 | |
CN111225266B (zh) | 用户界面交互方法和系统 | |
CN111104183B (zh) | 应用程序运行方法、装置、电子设备及存储介质 | |
CN112199090A (zh) | 信息流处理方法、装置以及计算机可读存储介质 | |
CN112788349A (zh) | 数据流推送方法、系统、计算机设备及可读存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |