图像的显示方法和装置、存储介质、电子装置与流程

文档序号:14994291发布日期:2018-07-24 07:23阅读:189来源:国知局

本发明涉及互联网领域,具体而言,涉及一种图像的显示方法和装置、存储介质、电子装置。



背景技术:

随着多媒体技术的发展和无线网络的普及,人们的娱乐活动变得越来越丰富,如通过手持式媒体设备联网玩游戏、通过电脑玩单机或者联网游戏,游戏类型多种多样,如弹幕射击游戏、冒险游戏、模拟游戏、角色扮演游戏、休闲棋牌游戏和其它游戏等。

在大部分类型的游戏中,玩家可以选择与其它玩家进行游戏,例如,目前风靡市场的弹幕射击游戏,多个玩家可以同时在线参与游戏。在游戏的过程中,为了实现所有玩家间的游戏画面同步,抛体的生成是先由玩家的射击行为发起,通知服务器,再由服务器统一产生抛体,随后通知各个客户端,在各客户端作抛体表现,如图1所示:

步骤s101,终端11将客户端上的开火信息发送给服务器13;

步骤s102,服务器在接收到开火信息时生成抛体;

步骤s103,服务器将“生成抛体”的指示通过抛体同步消息发送给客户端;

步骤s104,在客户端接收到抛体同步消息时生成抛体;

步骤s105,服务器将抛体命中的指示发送给客户端,客户端在接收到指示时生成抛体命中的游戏画面的表现;

步骤s106,服务器销毁抛体;

步骤s107,服务器将“销毁抛体”的指示通过抛体同步消息发送给客户端;

步骤s108,客户端接收到“销毁抛体”的指示时销毁抛体。

在上述的技术方案中,抛体的一来一回会产生较大的网络延迟,由于网络延迟可造成客户端表现时的开火响应延迟,在玩家按下开火键后,要等待服务器响应才会发射,以目前的网络状况,在网络流畅时通常要等待150-200毫秒左右,这会导致玩家觉得游戏反应不灵敏,操作不顺,手感不好。

针对相关技术中网络延迟较大的技术问题,目前尚未提出有效的解决方案。



技术实现要素:

本发明实施例提供了一种图像的显示方法和装置、存储介质、电子装置,以至少解决相关技术中网络延迟较大的技术问题。

根据本发明实施例的一个方面,提供了一种图像的显示方法,该方法包括:检测目标事件,其中,目标事件为在第一客户端上触发的事件,第一客户端为目标应用的客户端;查找与目标事件对应的第一任务,其中,第一任务用于指示在目标应用的虚拟场景中发射第一道具;向目标应用的服务器发送第一消息,并在第一客户端上显示与第一任务的执行过程对应的场景图像,其中,第一消息用于将第一客户端上的第一任务同步至服务器。

根据本发明实施例的一个方面,还提供了一种图像的显示方法,该方法包括:获取第一客户端的第一消息,其中,第一客户端为目标应用的客户端,第一消息用于将第一帐号在第一客户端上的第一任务同步至目标游戏的服务器,第一任务用于指示在目标应用的虚拟场景中向第一对象发射第一道具,第一客户端用于显示与第一任务对应的场景图像;向第一客户端发送第一任务的执行结果,通过执行结果指示第一客户端显示与执行结果对应的场景图像,执行结果用于指示第一道具是否击中第一对象。

根据本发明实施例的另一方面,提供了一种图像的显示装置,该装置包括:第一获取单元,用于检测目标事件,其中,目标事件为在第一客户端上触发的事件,第一客户端为目标应用的客户端;查找单元,用于查找与目标事件对应的第一任务,其中,第一任务用于指示在目标应用的虚拟场景中发射第一道具;处理单元,用于向目标应用的服务器发送第一消息,并在第一客户端上显示与第一任务的执行过程对应的场景图像,其中,第一消息用于将第一客户端上的第一任务同步至服务器。

根据本发明实施例的另一方面,还提供了一种图像的显示装置,该装置包括:第二获取单元,用于获取第一客户端的第一消息,其中,第一客户端为目标应用的客户端,第一消息用于将第一帐号在第一客户端上的第一任务同步至目标游戏的服务器,第一任务用于指示在目标应用的虚拟场景中向第一对象发射第一道具,第一客户端用于显示与第一任务对应的场景图像;第一发送单元,用于向第一客户端发送第一任务的执行结果,通过执行结果指示第一客户端显示与执行结果对应的场景图像,其中,执行结果用于指示第一道具是否击中第一对象。

根据本发明实施例的另一方面,还提供了一种存储介质,该存储介质包括存储的程序,程序运行时执行上述的方法。

根据本发明实施例的另一方面,还提供了一种电子装置,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器通过计算机程序执行上述的方法。

在本发明实施例中,在检测目标事件时,查找与目标事件对应的第一任务,第一任务用于指示在目标应用的虚拟场景中发射第一道具;向目标应用的服务器发送第一消息,并在第一客户端上显示与第一任务的执行过程对应的场景图像,第一消息用于将第一客户端上的第一任务同步至服务器,由于第一客户端在确定了第一任务之后直接显示与第一任务对应的场景图像,而不用等待与服务器交互后再进行显示,可以解决相关技术中网络延迟较大的技术问题,进而达到消除网络延迟并提高用户体验的技术效果。

附图说明

此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:

图1是相关技术中的一种可选的图像的显示方法的流程图;

图2是根据本发明实施例的图像的显示方法的硬件环境的示意图;

图3是根据本发明实施例的一种可选的图像的显示方法的流程图;

图4是根据本发明实施例的一种可选的游戏图像的示意图;

图5是根据本发明实施例的一种可选的游戏图像的示意图;

图6是根据本发明实施例的一种可选的游戏图像的示意图;

图7是根据本发明实施例的一种可选的图像的显示方法的流程图;

图8是根据本发明实施例的一种可选的游戏图像的示意图;

图9是根据本发明实施例的一种可选的图像的显示装置的示意图;

以及

图10是根据本发明实施例的一种终端的结构框图。

具体实施方式

为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。

需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。

首先,在对本发明实施例进行描述的过程中出现的部分名词或者术语适用于如下解释:

射击游戏:射击游戏(shootergame),简称为stg,游戏类型中的一种,也是动作游戏的一种,如采用枪械进行开火、射击,通过命中或者爆炸对敌人造成伤害的枪械射击游戏。

准星:枪炮瞄准装置的一部分,通常位于屏幕的中心。

抛体:在本方案中特指游戏中由武器发射的具有飞行轨迹和飞行过程的弹药。

抛体命中:如果抛体与敌对单位发生碰撞,那么认为抛体命中敌人,在游戏中即造成伤害。

网络延迟:网络延迟是指各式各样的数据在网络介质中通过网络协议(如tcp/ip)进行传输所用的时间。

真抛体:服务器用来实际判定命中的抛体。

假抛体:客户端用来做表现的抛体,即玩家所看到的抛体。

摄像机(镜头):在游戏中,玩家所看到的场景画面是由游戏引擎中摄像机(镜头)拍摄而得到的。

根据本发明实施例的一方面,提供了一种图像的显示方法的方法实施例。

可选地,在本实施例中,上述图像的显示方法可以应用于如图2所示的由服务器201和终端203所构成的硬件环境中。如图2所示,服务器201通过网络与终端203进行连接,上述网络包括但不限于:广域网、城域网或局域网,终端203并不限定于pc、手机、平板电脑等。本发明实施例的图像的显示方法可以由服务器201来执行,也可以由终端203来执行,还可以是由服务器201和终端203共同执行。其中,终端203执行本发明实施例的图像的显示方法也可以是由安装在其上的客户端来执行。

可选地,本申请的终端203可包括如图2所示的用户终端203a和用户终端203b中的任意一个或两个。

例如,当参与本申请的目标游戏的玩家为一个时,那么终端203为用户终端203a和用户终端203b中的一个;当参与本申请的目标游戏的玩家为多个时,那么终端203包括用户终端203a和用户终端203b,其中,用户终端203a表示当前玩家(即第一帐号)所使用的终端,用户终端203a安装有第一客户端,用户终端203b表示当前玩家以外的其他玩家(也即第二帐号),用户终端203b的数量可以为一个或多个,在本申请的实施例中以一个为例进行示意性说明。下面结合图2所示的步骤详述本申请的实施例:

步骤s21,第一客户端在检测到目标事件(如游戏操作事件)时,显示与目标事件对应的场景画面(如游戏场景的画面)。上述的目标事件为在第一客户端上触发的事件。

步骤s211,查找与目标事件对应的第一任务,第一任务用于指示在目标应用的虚拟场景中发射第一道具。

步骤s212,在第一客户端上显示与第一任务的执行过程对应的场景图像。

步骤s22,第一客户端向目标应用的服务器发送第一消息,通过第一消息将第一客户端上的第一任务同步至服务器。

需要说明的是,第一客户端同步第一任务至服务器时,由于第一消息的传输需要消耗一定的时间,为了保证服务器与第一客户端的第一任务的同步,服务器以第一客户端的第一任务的触发时间为准对第一任务的整个过程进行控制。

步骤s23,服务器向第二客户端发送第三消息,通过第三消息将第一客户端上的第一任务同步至第二客户端,第二客户端按照第一任务的触发时间和第二客户端与服务器之间的传输时延显示第一任务对应的场景图像。

服务器以第一客户端的第一任务的触发时间为准,将第一任务同步至其他终端。

需要说明的是,上述实施例以参与本申请的目标游戏的玩家为多个为例进行描述,当参与本申请的目标游戏的玩家为一个时,图2中可不包括用户终端203b与服务器交互的步骤。下面分别从终端侧和服务器侧描述本申请的实施例:

图3是根据本发明实施例的一种可选的图像的显示方法的流程图,如图3所示,在终端侧执行的该方法可以包括以下步骤:

步骤s302,检测目标事件,目标事件为在第一客户端上触发的事件,第一客户端为目标应用的客户端,客户端上可登陆有用户帐号,如第一帐号。

上述的目标应用为允许执行发射道具任务的游戏,如游戏应用、军事仿真应用、社交应用等,为了描述的统一,后续以游戏应用为例进行说明,游戏应用的游戏类型包括但不局限于弹幕类游戏、射击游戏、冒险游戏、休闲游戏、多人在线战术竞技游戏等。上述的第一客户端为目标游戏的应用安装在移动终端、pc等设备上后形成的客户端。

上述的目标事件可为在第一客户端中触发的游戏事件,如以触控、按键、手势等方式触发的事件。

步骤s304,查找与目标事件对应的第一任务,第一任务用于指示在目标应用的虚拟场景中发射第一道具(也可称为抛体)。

不同的事件对应不同的游戏任务,如第一客户端上不同的虚拟按键对应不同的游戏任务,故检测到目标事件后可查找与目标事件对应的第一任务。

上述的第一对象可为目标游戏中的对象,如非玩家控制角色npc、其他玩家角色等。上述的第一道具为允许在目标游戏中通过射出(如第一帐号对应的角色自己抛出,或通过枪械弓箭等射出)来攻击其它对象的道具。

步骤s306,向目标应用的服务器发送第一消息,并在第一客户端上显示与第一任务的执行过程对应的场景图像,第一消息用于将第一客户端上的第一任务同步至服务器。

申请人通过对相关技术进行分析,认识到相关技术中抛体的一来一回会产生较大的网络延迟,这会导致玩家觉得游戏反应不灵敏,操作不顺,手感不好。

而在本申请中,在第一客户端上检测到游戏事件(即目标事件)后,直接在第一客户端上进行表现(在第一客户端上显示与第一任务的执行过程对应的场景图像),而不用等待服务器响应后再进行表现(即不用等待服务器针对第一消息的响应,或称之为在接收到服务器对第一消息的响应消息之前,在第一客户端上显示与第一任务的执行过程对应的场景图像),这样能够保证抛体产生的即时性,能够提升用户体验,玩家会感觉到游戏反应非常灵敏,操作手感很好。

在第一客户端作表现时,可将第一任务同步至服务器侧,由服务器进行进一步操作,如对第一任务的执行结果进行判定、对第一任务在其余客户端(如第二客户端)上的表现作同步处理等。

通过上述步骤s302至步骤s306,在检测目标事件时,查找与目标事件对应的第一任务,第一任务用于指示在目标应用的虚拟场景中发射第一道具;向目标应用的服务器发送第一消息,并在第一客户端上显示与第一任务的执行过程对应的场景图像,第一消息用于将第一客户端上的第一任务同步至服务器,由于第一客户端在确定了第一任务之后直接显示与第一任务对应的场景图像,而不用等待与服务器交互后再进行显示,可以解决相关技术中网络延迟较大的技术问题,进而达到消除网络延迟并提高用户体验的技术效果。

在步骤s302提供的技术方案中,检测目标事件,目标事件为在第一客户端上触发的事件。检测目标事件的方式包括但不局限于如下方式:

(1)游戏手柄

游戏手柄可与第一客户端所在的终端以有线或无线(如蓝牙、近场通讯nfc等)的方式连接,游戏手柄上的每个按钮或旋钮对应相应的游戏事件,或多个按钮和旋钮的组合对应相应的游戏事件,获取的游戏事件即在游戏手柄上的按钮或旋钮触发的事件。

(2)触控屏

第一客户端所在的终端可以包括触控屏,玩家可以通过触控屏提供的操作接口(如虚拟按键、触控屏上的滑动操作等)触发相应的游戏事件,获取的游戏事件即在触控屏上的操作触发的事件。

(3)手势识别

第一客户端所在的终端可以包括手势识别模块(如摄像头,可以独立于终端存在、或集成在终端上),玩家可以通过不同的手势来向第一客户端发送相应的游戏事件,获取的游戏事件即手势识别模块识别出的事件。

在步骤s304提供的技术方案中,查找与目标事件对应的第一任务,第一任务用于指示在目标应用的虚拟场景中发射第一道具。

上述的游戏事件在终端上可对应于检测到的为电信号(如触控时、按键操作时产生的电信号)或图像信号(如手势识别模块识别出的手势图像),在第一客户端中,需要将游戏事件转换为游戏中对应的游戏任务。

可选地,可以在客户端上预先设置好数据表,在数据表中保存好不同的游戏事件于对应的游戏任务之间的关联关系,查找与目标事件对应的第一任务,即可通过查找该数据表实现。

在步骤s306提供的技术方案中,向目标应用的服务器发送第一消息,并在第一客户端上显示与第一任务的执行过程对应的场景图像,第一消息用于将第一客户端上的第一任务同步至服务器。

在步骤s306中,主要实现了位置同步和时间同步两个部分的功能,下面逐一进行说明。

(1)位置同步

可选地,在第一客户端上显示与第一任务的执行过程对应的场景图像时,在第一道具飞行的过程中,根据第一道具的第一飞行轨迹显示场景图像,第一飞行轨迹上的位置点包括发射第一道具时第一道具所在的第一位置点。

可选地,上述技术方案“根据第一道具的第一飞行轨迹显示场景图像”可以通过如下方式实现:

步骤s31,在根据第一道具的第一飞行轨迹显示场景图像的同时或之前,确定第一飞行轨迹。

相关技术方案会直接从摄像机中心处(可以认为是屏幕的中心往准星瞄准的方向)发射抛体,而并非从直观理解上的枪口处发射,且为了使玩家忽略掉抛体初始位置错误的问题,一般会加快抛体速度,抛体初始位置位于屏幕中心,虽然符合准星命中,但不符合发射常理,正常玩家看到的抛体飞行的抛物线并非这样的。为了克服该问题,本申请采用如下方式来确定抛体的飞行轨迹。

如图4和图5(是图4所示场景的俯视图)所示,玩家可以通过射击道具405向第一对象403射击,射击前,可以调整准心401(如从a点移动至b点,以瞄准第一对象403)。确定第一飞行轨迹时,可获取第一位置点c和第三位置点d,第一位置点可以为射击道具的第一道具的出口,如枪口,第三位置点为在向第一对象(即被瞄准的对象)发射第一道具时对虚拟场景中的第一对象进行定位得到的位置点,即射击道具405实际瞄准的点。

将第一位置点和第三位置点连接起来的轨迹设置为第一飞行轨迹(如图5所示的向量β,也即向量),第一飞行轨迹不经过第二道具所在的第四位置点(即b点),第二道具是对第一对象进行定位时使用的道具(即准心)。

步骤s32,确定第一时刻(任意一个时刻)第一道具在第一飞行轨迹上所处的第二位置点,第一时刻为第一道具飞行过程中的一个时刻。

可选地,可以根据第一道具的飞行速度确定任意一个时刻第一道具所处的第二位置点,即飞行速度与飞行时间(当前时刻与发射时刻间的差值)之间的乘积为飞行距离,即在第一飞行轨迹上经过的该飞行距离的点为第二位置点。

可选地,还可考虑第一道具的飞行加速度,由其飞行加速度和初始飞行速度以及飞行时间共同确定上述的第二位置点,计算方式与上述类似,在此不再赘述。

步骤s33,如图6所示,在第一时刻显示第一场景图像(也即游戏图像),第一场景图像为在第二位置点形成有第一道具407的游戏图像。

本申请的上述目标游戏为联网游戏,为了防止本地作弊,上述游戏任务的任务执行结果最终由服务器来确认,在根据第一道具的第一飞行轨迹显示场景图像的过程中,可能包括以下几种情况:

其一:随着游戏的进行,在原第一飞行轨迹上出现新的对象(障碍物)

在服务器下发的第一任务的执行结果用于表示在第四位置点出现第二对象的情况下,在第二时刻显示第二场景图像,第二场景图像是用于表示第二对象在第四位置点被第一道具击中的场景图像,第四位置为第一飞行轨迹上的位置点,第二时刻为第一道具飞行至第四位置点的时刻。

其二:随着游戏的进行,在原第一飞行轨迹上未出现新的对象

在执行结果用于表示第一对象在第三位置点被第一道具击中的情况下(也可称为抛体命中),在第三时刻显示第三场景图像,第三场景图像是用于表示第一对象在第三位置点被第一道具击中的场景图像,第三时刻为第一道具飞行至第三位置点的时刻。

其三:随着游戏的进行,第一对象的所在位置发生了改变

在执行结果用于表示第一对象在第一道具飞行至第三位置点前已经离开该位置的情况下,在第三时刻显示第五游戏图像(即第五场景图像),第五游戏图像是用于表示第一道具经过第三位置点时的游戏图像。

需要说明的是,在服务器侧生成的轨迹可与终端侧的第一飞行轨迹不同,如图5所示,在服务器侧生成的轨迹可为从第四位置点b到第三位置点d之间的轨迹(即向量α,也即向量),对于除第一客户端外的客户端,也可按照该轨迹进行显示(显示时需要考虑相应客户端的摄像机的机位)。

(2)时间同步

此处的时间同步主要体现在服务器侧保持各个客户端的任务进度的同步。

可选地,在执行步骤s302至步骤s306的过程中,第一客户端可获取服务器下发的第二消息,第二消息用于指示在第二客户端上的第二任务和触发第二任务时第二客户端的第二时间戳;在第一客户端上至少根据第二时间戳显示与第二任务对应的第四场景图像。

上述的第二任务用于指示在虚拟场景中发射第三道具,在第二客户端上触发第二任务时,与第一客户端上触发第一任务时类似,第二客户端向目标游戏的服务器发送第二消息,并同时在第二客户端上显示与第二任务对应的场景图像,第二消息用于将第二客户端上的第二任务同步至服务器。

服务器在接收到第二消息后,根据第二时间戳和与第二客户端之间的传输时延确定来确定第二任务的触发时间,若服务器与第二客户端之间的时间系统是相同的,那么第二时间戳所表示的时间即触发时间,当前进度所在的时刻即触发时间与传输时延之和,若服务器与第二客户端之间的时间系统是不同的,那么还需考虑时间系统之间的差值,并按照上述方式进行计算,如服务器比第二客户端快一个单位时间,那么触发时间为第二时间戳所表示的时间加一个单位时间,当前进度所在的时刻即触发时间与传输时延之和再加上一个单位时间。

可选地,在第一客户端上至少根据第二时间戳显示与第二任务对应的第四场景图像时,根据第二时间戳和第一网络延迟确定第三道具的第五位置点,第五位置点为第二飞行轨迹上的位置点,第二飞行轨迹为第三道具在虚拟场景中飞行的轨迹,第一网络延迟包括第一客户端与服务器之间的消息传输时延和服务器与第二客户端之间的消息传输时延。

计算方式与上述类似,例如,第一客户端、服务器与第二客户端采用的时间系统相同,那么第一客户端接收到第二消息时,第二任务时该任务的进度为第二时间戳所表示的时间和第一网络延迟之和,第一客户端从该进度开始展示。

也即对于服务器和第一客户端,是从第二任务的中间的某个时刻进入游戏任务。

可选地,为了增强用户体验,可以按照如下方式进行体现:

k=s/(s-s1),其中,k表示进度展示加快倍率,s表示第二飞行估计的长度,s1表示第一客户端时第三道具已经飞行的长度。类似于,对于用于表示第三道具的飞行的图像,以k倍于原始速度的方式进行展示。

可选地,在步骤s306中,向目标应用的服务器发送第一消息包括:根据第一客户端当前的第一时间戳和第一任务生成第一消息;向服务器发送第一消息,其中,服务器用于指示第二客户端显示与在第一时间戳触发的第一任务对应的场景图像,第二客户端为登录有参与目标游戏的第二帐号的目标游戏的客户端。

需要说明的是,对于第一任务的相关游戏图像(即场景图像),在第二客户端,也可按照与上述类似的方式进行展示。

根据本发明实施例的一方面,提供了一种图像的显示方法的方法实施例。在服务器侧执行的该方法可以包括以下步骤:

步骤42,获取第一客户端的第一消息,其中,第一客户端为目标应用的客户端,第一消息用于将第一帐号在第一客户端上的第一任务同步至目标游戏的服务器,第一任务用于指示在目标应用的虚拟场景中发射第一道具,第一客户端用于显示与第一任务对应的场景图像。

步骤s44,向第一客户端发送第一任务的执行结果,通过执行结果指示第一客户端显示与执行结果对应的场景图像,其中,执行结果用于指示第一道具是否击中第一对象。

通过上述实施例,客户端在检测目标事件时,查找与目标事件对应的第一任务,第一任务用于指示在目标应用的虚拟场景中发射第一道具;向目标应用的服务器发送第一消息,并在第一客户端上显示与第一任务的执行过程对应的场景图像,第一消息用于将第一客户端上的第一任务同步至服务器,由于第一客户端在确定了第一任务之后直接显示与第一任务对应的场景图像,而不用等待与服务器交互后再进行显示,可以解决相关技术中网络延迟较大的技术问题,进而达到消除网络延迟并提高用户体验的技术效果。

可选地,在获取第一客户端的第一消息之后,可根据第二网络延迟和第一消息所指示的第一时间戳确定第一任务的触发时间,其中,第一时间戳为触发第一任务时第一客户端上的时间戳,第二网络延迟为第一客户端与服务器之间的传输时延。

可选地,在根据第二网络延迟和第一消息所指示的第一时间戳确定第一任务的触发时间之后,可向第二客户端发送第三消息,其中,第三消息用于指示第一任务的触发时间,第二客户端用于按照触发时间和第二客户端与服务器之间的传输时延显示第一任务对应的场景图像。

对于上述的游戏图像(也即场景图像)的显示,可参考前述实施例。

作为一种可选的实施例,下面以射击游戏为例详述本申请的实施例:

为了解决客户端开火后,服务器不能及时的响应的问题,在本申请的技术方案中,客户端开火后,直接在枪口处生成一个假抛体,当服务器同步在摄像机中心处生成真抛体时,隐藏真抛体,由假抛体来进行飞行表现,最终收到服务器发过来的销毁真抛体信息时,销毁掉假抛体。真假抛体的飞行速度、是否受到重力、所受重力的系数完全一致,如图7所示:

步s701,当前玩家在第一终端71的第一游戏客户端上开火。

步s702,第一游戏客户端根据内置逻辑生成假抛体。

由于武器发射假抛体需要从枪口发射,而瞄准是通过摄像机的朝向,需要计算得到假抛体的发射方向,否则会出现玩家发现瞄准了某个点,但看到假抛体并非命中那个点的情况。

如图4和图5所示,摄像机在屏幕中心往外,而枪口位置如标注c,玩家瞄准到了d点,需要根据摄像机中心点位置以及方向a(即α向量的方向)来计算方向b(即β向量的方向),保证假抛体能够正常而顺利地飞到玩家的瞄准点d点。

在客户端生成假抛体时,先通过准星的位置和朝向做射线检测(指由程序实现的函数,该函数作用是通过给定的起始点和给定的方向作射线,返回第一个与场景或角色相交的点),检测到抛体应该最终命中的点后,以此点与枪口位置做差得到的向量作为假抛体的朝向,即图5中的β向量方向,假抛体的初始位置是枪口位置。这样做能最大程度保证真假抛体命中结果一致,如图8所示(真抛体朝向为垂直屏幕向里)。

步s703,在步s702执行的同时,第一客户端将开火信息同步发送给服务器73。

步s704,服务器生成真抛体。

(1)关于位置同步

为解决上述问题,客户端和服务器采用不同的处理方案。在服务器端在生成抛体时,抛体的初始位置在摄像机中心位置,初始朝向为摄像机的朝向,使抛体飞行轨迹与玩家瞄准的直线一致,命中准确。

最后,由于服务器端和客户端抛体生成时间不一致,导致客户端和服务器抛体位置不同步的问题。

(2)关于时间同步

可以看到,当玩家向正前方发射抛体时,由于客户端先生成假抛体,服务器在接到客户端请求后才生成真抛体,所以客户端的假抛体与服务器的真抛体之间存在着位置不同步的问题,真抛体总是滞后于假抛体,而且延迟越高,误差越大。

服务器在生成真抛体后,根据网络延迟时间对真抛体的位置做补偿,使其与客户端的假抛体位置一致。

步s705,服务器利用抛体同步消息将“生成真抛体”的指令发送给第一客户端。

步s706,在第一客户端上将真抛体挂在假抛体上。

步s707,服务器将“真抛体命中”的指令发送给第一客户端。

步s708,服务器销毁真抛体。

步s709,服务器利用抛体同步消息将“销毁真抛体”的指令发送给第一客户端。

步s710,第一客户端销毁真假抛体。

上述流程为第一终端与服务器的交互流程,为了使得各客户端的游戏画面同步,服务器还可与其余终端(即与第一终端参与同一游戏的第二终端75)在生成真抛体、真抛体命中、销毁真抛体时做同步处理,下面以生成真抛体为例进行描述:

在执行步s705的同时,执行步s711,服务器利用抛体同步消息将“生成真抛体”的指令发送给第二终端75上的第二客户端。

步s712,第二客户端生成真抛体。

利用本申请的技术方案,可通过客户端生成假抛体解决开火响应延迟的问题;使玩家的瞄准点与用来作表现的假抛体的命中点一致,保证射击手感;解决由于假抛体的引入而产生的客户端假抛体与服务器真抛体位置同步的衍生问题,进而避免了真抛体命中了某个目标而假抛体没有命中而带来的实际射击结果与玩家看到的画面表现不一致的现象。

需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本发明所必须的。

通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例的方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如rom/ram、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。

根据本发明实施例的另一个方面,还提供了一种用于实施上述图像的显示方法的图像的显示装置。图9是根据本发明实施例的一种可选的图像的显示装置的示意图,如图9所示,该装置可以包括:第一获取单元901、查找单元903以及处理单元905。

第一获取单元901,用于检测目标事件,其中,目标事件为在第一客户端上触发的事件,第一客户端为目标应用的客户端。

上述的目标应用为允许执行发射道具任务的游戏,如游戏应用、军事仿真应用、社交应用等,为了描述的统一,后续以游戏应用为例进行说明,游戏应用的游戏类型包括但不局限于弹幕类游戏、射击游戏、冒险游戏、休闲游戏、多人在线战术竞技游戏等。上述的第一客户端为目标游戏的应用安装在移动终端、pc等设备上后形成的客户端。

上述的目标事件可为在第一客户端中触发的游戏事件,如以触控、按键、手势等方式触发的事件。

查找单元903,用于查找与目标事件对应的第一任务,其中,第一任务用于指示在目标应用的虚拟场景中发射第一道具。

不同的事件对应不同的游戏任务,如第一客户端上不同的虚拟按键对应不同的游戏任务,故检测到目标事件后可查找与目标事件对应的第一任务。

上述的第一对象可为目标游戏中的对象,如非玩家控制角色npc、其他玩家角色等。上述的第一道具为允许在目标游戏中通过射出(如第一帐号对应的角色自己抛出,或通过枪械弓箭等射出)来攻击其它对象的道具。

处理单元905,用于向目标应用的服务器发送第一消息,并在第一客户端上显示与第一任务的执行过程对应的场景图像,其中,第一消息用于将第一客户端上的第一任务同步至服务器。

申请人通过对相关技术进行分析,认识到相关技术中抛体的一来一回会产生较大的网络延迟,这会导致玩家觉得游戏反应不灵敏,操作不顺,手感不好。

而在本申请中,在第一客户端上检测到游戏事件后,直接在第一客户端上进行表现(在第一客户端上显示与第一任务的执行过程对应的场景图像),而不用等待服务器响应后再进行表现(即不用等待服务器针对第一消息的响应,或称之为在接收到服务器对第一消息的响应消息之前,在第一客户端上显示与第一任务的执行过程对应的场景图像),这样能够保证抛体产生的即时性,能够提升用户体验,玩家会感觉到游戏反应非常灵敏,操作手感很好。

在第一客户端作表现时,会将第一任务同步至服务器侧,由服务器进行进一步操作,如对第一任务的执行结果进行判定、对第一任务在其余客户端(如第二客户端)上的表现作同步处理等。

需要说明的是,该实施例中的第一获取单元901可以用于执行本申请实施例中的步骤s302,该实施例中的查找单元903可以用于执行本申请实施例中的步骤s304,该实施例中的处理单元905可以用于执行本申请实施例中的步骤s306。

此处需要说明的是,上述模块与对应的步骤所实现的示例和应用场景相同,但不限于上述实施例所公开的内容。需要说明的是,上述模块作为装置的一部分可以运行在如图2所示的硬件环境中,可以通过软件实现,也可以通过硬件实现。

通过上述模块,在检测目标事件时,查找与目标事件对应的第一任务,第一任务用于指示在目标应用的虚拟场景中发射第一道具;向目标应用的服务器发送第一消息,并在第一客户端上显示与第一任务的执行过程对应的场景图像,第一消息用于将第一客户端上的第一任务同步至服务器,由于第一客户端在确定了第一任务之后直接显示与第一任务对应的场景图像,而不用等待与服务器交互后再进行显示,可以解决相关技术中网络延迟较大的技术问题,进而达到消除网络延迟并提高用户体验的技术效果。

上述的处理单元可包括:显示模块,用于在第一道具飞行的过程中,根据第一道具的第一飞行轨迹显示场景图像,其中,第一飞行轨迹上的位置点包括发射第一道具时第一道具所在的第一位置点。

可选地,显示模块可包括:确定子模块,用于确定第一时刻第一道具在第一飞行轨迹上所处的第二位置点,其中,第一时刻为第一道具飞行过程中的一个时刻;第一显示子模块,用于在第一时刻显示第一场景图像,其中,第一场景图像为在第二位置点形成有第一道具的场景图像。

可选地,上述的处理单元可包括:获取模块,用于在根据第一道具的第一飞行轨迹显示场景图像的同时或之前,获取第一位置点和第三位置点,其中,第三位置点为在向第一对象发射第一道具时对虚拟场景中的第一对象进行定位得到的位置点;确定模块,用于确定用于连接第一位置点和第三位置点的轨迹为第一飞行轨迹,其中,第一飞行轨迹不经过第二道具所在的第四位置点,第二道具是对第一对象进行定位时使用的道具。

可选地,显示模块还可包括:第二显示子模块,用于在服务器下发的第一任务的执行结果用于表示在第四位置点出现第二对象的情况下,在第二时刻显示第二场景图像,其中,第二场景图像是用于表示第二对象在第四位置点被第一道具击中的场景图像,第四位置为第一飞行轨迹上的位置点,第二时刻为第一道具飞行至第四位置点的时刻;第三显示子模块,用于在执行结果用于表示第一对象在第三位置点被第一道具击中的情况下,在第三时刻显示第三场景图像,其中,第三场景图像是用于表示第一对象在第三位置点被第一道具击中的场景图像,第三时刻为第一道具飞行至第三位置点的时刻。

上述的处理单元还可包括交互模块,可用于:根据第一客户端当前的第一时间戳和第一任务生成第一消息;向服务器发送第一消息,其中,服务器用于指示第二客户端显示与在第一时间戳触发的第一任务对应的场景图像,第二客户端为登录有参与目标游戏的第二帐号的目标游戏的客户端。

上述的交互模块还可用于:获取服务器下发的第二消息,其中,第二消息用于指示在第二客户端上的第二任务和触发第二任务时第二客户端的第二时间戳;上述的显示模块还可用于在第一客户端上至少根据第二时间戳显示与第二任务对应的第四场景图像。

上述的第二任务用于指示在虚拟场景中发射第三道具,其中,显示模块还可用于:根据第二时间戳和第一网络延迟确定第三道具的第五位置点,其中,第五位置点为第二飞行轨迹上的位置点,第二飞行轨迹为第三道具在虚拟场景中飞行的轨迹,第一网络延迟包括第一客户端与服务器之间的消息传输时延和服务器与第二客户端之间的消息传输时延;显示在第五位置形成有第三道具的第四场景图像。

根据本发明实施例的另一个方面,还提供了一种用于实施上述图像的显示方法的图像的显示装置。该装置可以包括:

第二获取单元,用于获取第一客户端的第一消息,其中,第一客户端为目标应用的客户端,第一消息用于将第一帐号在第一客户端上的第一任务同步至目标游戏的服务器,第一任务用于指示在目标应用的虚拟场景中发射第一道具,第一客户端用于显示与第一任务对应的场景图像;

第一发送单元,用于向第一客户端发送第一任务的执行结果,通过执行结果指示第一客户端显示与执行结果对应的场景图像,其中,执行结果用于指示第一道具是否击中第一对象。

通过上述实施例,客户端在检测目标事件时,查找与目标事件对应的第一任务,第一任务用于指示在目标应用的虚拟场景中发射第一道具;向目标应用的服务器发送第一消息,并在第一客户端上显示与第一任务的执行过程对应的场景图像,第一消息用于将第一客户端上的第一任务同步至服务器,由于第一客户端在确定了第一任务之后直接显示与第一任务对应的场景图像,而不用等待与服务器交互后再进行显示,可以解决相关技术中网络延迟较大的技术问题,进而达到消除网络延迟并提高用户体验的技术效果。

可选地,上述装置还可包括:确定单元,用于在获取第一客户端的第一消息之后,根据第二网络延迟和第一消息所指示的第一时间戳确定第一任务的触发时间,其中,第一时间戳为触发第一任务时第一客户端上的时间戳,第二网络延迟为第一客户端与服务器之间的传输时延。

可选地,上述装置还可包括:第二发送单元,用于在根据第二网络延迟和第一消息所指示的第一时间戳确定第一任务的触发时间之后,向第二客户端发送第三消息,其中,第三消息用于指示第一任务的触发时间,第二客户端用于按照触发时间和第二客户端与服务器之间的传输时延显示第一任务对应的场景图像。

利用本申请的技术方案,可通过客户端生成假抛体解决开火响应延迟的问题;使玩家的瞄准点与用来作表现的假抛体的命中点一致,保证射击手感;解决由于假抛体的引入而产生的客户端假抛体与服务器真抛体位置同步的衍生问题,进而避免了真抛体命中了某个目标而假抛体没有命中而带来的实际射击结果与玩家看到的画面表现不一致的现象。

此处需要说明的是,上述模块与对应的步骤所实现的示例和应用场景相同,但不限于上述实施例所公开的内容。需要说明的是,上述模块作为装置的一部分可以运行在如图2所示的硬件环境中,可以通过软件实现,也可以通过硬件实现,其中,硬件环境包括网络环境。

根据本发明实施例的另一个方面,还提供了一种用于实施上述图像的显示方法的服务器或终端。

图10是根据本发明实施例的一种终端的结构框图,如图10所示,该终端可以包括:一个或多个(图10中仅示出一个)处理器1001、存储器1003、以及传输装置1005(如上述实施例中的发送装置),如图10所示,该终端还可以包括输入输出设备1007。

其中,存储器1003可用于存储软件程序以及模块,如本发明实施例中的图像的显示方法和装置对应的程序指令/模块,处理器1001通过运行存储在存储器1003内的软件程序以及模块,从而执行各种功能应用以及数据处理,即实现上述的图像的显示方法。存储器1003可包括高速随机存储器,还可以包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器1003可进一步包括相对于处理器1001远程设置的存储器,这些远程存储器可以通过网络连接至终端。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。

上述的传输装置1005用于经由一个网络接收或者发送数据,还可以用于处理器与存储器之间的数据传输。上述的网络具体实例可包括有线网络及无线网络。在一个实例中,传输装置1005包括一个网络适配器(networkinterfacecontroller,nic),其可通过网线与其他网络设备与路由器相连从而可与互联网或局域网进行通讯。在一个实例中,传输装置1005为射频(radiofrequency,rf)模块,其用于通过无线方式与互联网进行通讯。

其中,具体地,存储器1003用于存储应用程序。

处理器1001可以通过传输装置1005调用存储器1003存储的应用程序,以执行下述步骤:

检测目标事件,其中,目标事件为在第一客户端上触发的事件;

查找与目标事件对应的第一任务,其中,第一任务用于指示在目标应用的虚拟场景中发射第一道具;

向目标应用的服务器发送第一消息,并在第一客户端上显示与第一任务的执行过程对应的场景图像,其中,第一消息用于将第一客户端上的第一任务同步至服务器。

处理器1001还用于执行下述步骤:

获取第一客户端的第一消息,其中,第一消息用于将第一帐号在第一客户端上的第一任务同步至目标游戏的服务器,第一任务用于指示在目标应用的虚拟场景中发射第一道具,第一客户端用于显示与第一任务对应的场景图像;

向第一客户端发送第一任务的执行结果,通过执行结果指示第一客户端显示与执行结果对应的场景图像,执行结果用于指示第一道具是否击中第一对象。

采用本发明实施例,在检测目标事件时,查找与目标事件对应的第一任务,第一任务用于指示在目标应用的虚拟场景中发射第一道具;向目标应用的服务器发送第一消息,并在第一客户端上显示与第一任务的执行过程对应的场景图像,第一消息用于将第一客户端上的第一任务同步至服务器,由于第一客户端在确定了第一任务之后直接显示与第一任务对应的场景图像,而不用等待与服务器交互后再进行显示,可以解决相关技术中网络延迟较大的技术问题,进而达到消除网络延迟并提高用户体验的技术效果。

可选地,本实施例中的具体示例可以参考上述实施例中所描述的示例,本实施例在此不再赘述。

本领域普通技术人员可以理解,图10所示的结构仅为示意,终端可以是智能手机(如android手机、ios手机等)、平板电脑、掌上电脑以及移动互联网设备(mobileinternetdevices,mid)、pad等终端设备。图10其并不对上述电子装置的结构造成限定。例如,终端还可包括比图10中所示更多或者更少的组件(如网络接口、显示装置等),或者具有与图10所示不同的配置。

本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令终端设备相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:闪存盘、只读存储器(read-onlymemory,rom)、随机存取器(randomaccessmemory,ram)、磁盘或光盘等。

本发明的实施例还提供了一种存储介质。可选地,在本实施例中,上述存储介质可以用于执行图像的显示方法的程序代码。

可选地,在本实施例中,上述存储介质可以位于上述实施例所示的网络中的多个网络设备中的至少一个网络设备上。

可选地,在本实施例中,存储介质被设置为存储用于执行以下步骤的程序代码:

s41,检测目标事件,其中,目标事件为在第一客户端上触发的事件;

s42,查找与目标事件对应的第一任务,其中,第一任务用于指示在目标应用的虚拟场景中发射第一道具;

s43,向目标应用的服务器发送第一消息,并在第一客户端上显示与第一任务的执行过程对应的场景图像,其中,第一消息用于将第一客户端上的第一任务同步至服务器。

可选地,存储介质还被设置为存储用于执行以下步骤的程序代码:

s51,获取第一客户端的第一消息,其中,第一消息用于将第一帐号在第一客户端上的第一任务同步至目标游戏的服务器,第一任务用于指示在目标应用的虚拟场景中发射第一道具,第一客户端用于显示与第一任务对应的场景图像;

s52,向第一客户端发送第一任务的执行结果,通过执行结果指示第一客户端显示与执行结果对应的场景图像,执行结果用于指示第一道具是否击中第一对象。

可选地,本实施例中的具体示例可以参考上述实施例中所描述的示例,本实施例在此不再赘述。

可选地,在本实施例中,上述存储介质可以包括但不限于:u盘、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。

上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。

上述实施例中的集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在上述计算机可读取的存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在存储介质中,包括若干指令用以使得一台或多台计算机设备(可为个人计算机、服务器或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。

在本发明的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。

在本申请所提供的几个实施例中,应该理解到,所揭露的客户端,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。

所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。

另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。

以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1