一种2d游戏中客户端的同步方法、装置和系统的制作方法_2

文档序号:9238139阅读:来源:国知局
动到所述预测位置;
[0060] 第三移动模块,用于在水平方向上按照所述操作信息和所述加速度,在预设时间 内将所述第二业务对象从所述显示位置移动到所述预测位置。
[0061] 优选地,所述第二移动模块包括:
[0062] 坚直移动子模块,用于在所述操作信息对应的坚直方向上,通过以下坚直移动速 度在预设时间内将所述第二业务对象从所述真实位置移动到所述预测位置:
[0063] V4=V5-gAt
[0064] 其中,V4为坚直移动速度,V5为所述第二业务对象在坚直方向的第三移动速度,g 为预置的模拟重力加速度,At为当前时间与真实位置对应的时间之间的时间间隔。
[0065] 优选地,所述第三移动模块包括:
[0066] 水平移动子模块,用于在所述操作信息对应的水平方向上,通过以下水平移动速 度在预设时间内将所述第二业务对象从所述显示位置移动到所述预测位置:
[0067] V6=V7+aAt
[0068] 其中,V6为水平移动速度,V7为所述第二业务对象在水平方向的第四移动速度,a为所述加速度,At为当前时间与真实位置对应的时间之间的时间间隔。
[0069] 本发明实施例还公开了一种2D游戏中客户端的同步系统,所述系统包括服务器、 第一客户端和第二客户端,所述第一客户端对应第一业务对象,所述第二客户端对应第二 业务对象;
[0070] 所述的服务器包括:
[0071] 监测模块,用于监测所述第二业务对象的真实位置与显示位置;所述显示位置为 所述第二业务对象在所述第一客户端中显示的位置;
[0072] 预测模块,用于在所述真实位置与所述显示位置之间的距离超过预设的偏差阈值 时,依据所述第二业务对象对应的操作信息计算预设时间内所述第二业务对象的预测位 置;
[0073] 加速度计算模块,用于计算在水平方向上所述第二业务对象从所述显示位置在预 设时间内移动到所述预测位置的加速度;
[0074] 加速度发送模块,用于将所述加速度发送至所述第一客户端;
[0075] 所述的第一客户端包括:
[0076] 第一同步模块,用于向服务器发送所述第一业务对象的移动状态;
[0077] 加速度接收模块,用于接收服务器侧发送的所述第二业务对象对应的加速度;
[0078] 第一移动模块,用于在坚直方向上将所述第二业务对象从所述显示位置移动到所 述真实位置;
[0079] 第二移动模块,用于在坚直方向上按照所述操作信息在预设时间内将所述第二业 务对象从所述真实位置移动到所述预测位置;
[0080] 第三移动模块,用于在水平方向上按照所述操作信息和所述加速度,在预设时间 内将所述第二业务对象从所述显示位置移动到所述预测位置;
[0081] 所述的第二客户端包括:
[0082] 第二同步模块,用于向服务器发送所述第二业务对象的移动状态。
[0083] 优选地,通过以下公式计算在水平方向上所述第二业务对象从所述显示位置在预 设时间内移动到所述预测位置的加速度:
[0084]
[0085] 其中,Si为在水平方向的预测位置,S2为在水平方向的显示位置,Vi为所述第二业 务对象在水平方向的第一移动速度,a为加速度,t为预设时间。
[0086] 优选地,所述预测模包括:
[0087] 水平移动距离获得子模块,用于在所述操作信息对应的水平方向上,执行所述第 二业务对象在水平方向的第一移动速度和预设时间的乘积计算,获得水平移动距离;
[0088] 水平预测位置获得子模块,用于在水平方向上,执行所述真实位置和所述水平移 动距离的加法计算,获得水平方向的预测位置;
[0089] 坚直移动距离计算子模块,用于在所述操作信息对应的坚直方向上,通过以下公 式计算坚直移动距离:
[0090]
[0091] 其中,AS为坚直移动距离,V3为所述第二业务对象在坚直方向的第二移动速度,g为预置的模拟重力加速度,t为预设时间;
[0092] 坚直预测位置获得子模块,用于在坚直方向上,执行所述真实位置和所述坚直移 动距离的加法计算,获得坚直方向的预测位置。
[0093] 优选地,所述第二移动模块包括:
[0094] 坚直移动子模块,用于在所述操作信息对应的坚直方向上,通过以下坚直移动速 度在预设时间内将所述第二业务对象从所述真实位置移动到所述预测位置:
[0095] V4=V5-gA t
[0096] 其中,V4为坚直移动速度,V5为所述第二业务对象在坚直方向的第三移动速度,g 为预置的模拟重力加速度,At为当前时间与真实位置对应的时间之间的时间间隔。
[0097] 优选地,所述第三移动模块包括:
[0098] 水平移动子模块,用于在所述操作信息对应的水平方向上,通过以下水平移动速 度在预设时间内将所述第二业务对象从所述显示位置移动到所述预测位置:
[0099] V6=V7+a A t
[0100] 其中,V6为水平移动速度,V7为所述第二业务对象在水平方向的第四移动速度,a为所述加速度,At为当前时间与真实位置对应的时间之间的时间间隔。
[0101] 与【背景技术】相比,本发明实施例包括以下优点:
[0102] 本发明实施例在监测到第二业务对象的真实位置与显示位置之间的距离超过预 设的偏差阈值时,计算第二业务对象的预测位置,依据预测位置计算校正的加速度,在校正 时,在坚直方向先进行直接拉扯,然后再按照第二业务对象的操作信息正常进行移动,在水 平方向上按照该加速度进行加速运动进行校正,通过将移动分拆模拟校正,在具有模拟重 力加速度的情况下更加贴近真实的移动路径,提高了同步的精确度,进而可以减少诸如直 接穿越其他业务对象等不真实情况的发生,提高了用户体验。
【附图说明】
[0103] 图1是一种航位推测的示例图;
[0104] 图2是本发明的一种2D游戏中客户端的同步方法实施例1的步骤流程图;
[0105] 图3是本发明的一种计算预测位置的示例图;
[0106] 图4是本发明的一种2D游戏中客户端的同步方法实施例2的步骤流程图;
[0107] 图5是本发明的一种位置校正的示例图;
[0108] 图6是本发明的一种位置校正的示例图;
[0109] 图7是本发明的一种2D游戏中客户端的同步装置实施例1的结构框图;
[0110] 图8是本发明的一种2D游戏中客户端的同步装置实施例2的结构框图;
[0111] 图9是本发明的一种2D游戏中客户端的同步系统实施例的结构框图。
【具体实施方式】
[0112] 为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实 施方式对本发明作进一步详细的说明。
[0113] 本发明实施例的一个核心构思在于,以当前客户端的移动状态为准,采用帧同步 方案,每隔固定帧发送一次操作信息,其他客户端自行通过操作信息模拟业务对象的移动, 当移动出现偏差时将该移动分为水平方向和坚直方向,分别进行纠正。
[0114] 参照图1,示出了本发明的一种2D游戏中客户端的同步方法实施例1的步骤流程 图,其中,所述客户端可以包括第一客户端和第二客户端,所述第一客户端可以对应第一业 务对象,所述第二客户端可以对应第二业务对象;
[0115]需要说明的是,2D游戏即二维游戏,可以根据用户的需求而进行互动,包括横版 2D游戏(即游戏画面固定在水平方向上),也可以包括坚版2D游戏(即游戏画面固定在坚直 方向上)。
[0116] 客户端可以为浏览器,也可以为独立客户端,用户采用账号在客户端登录后,可以 通过客户端进行操作控制业务对象,该业务对象可以为人物、飞机、坦克、宠物等等,本发明 实施例对此不加以限制。
[0117] 所述的方法可以包括如下步骤:
[0118] 步骤201,在服务器侧监测所述第二业务对象的真实位置与显示位置;所述显示 位置可以为所述第二业务对象在所述第一客户端中显示的位置;
[0119] 本发明实施例可以应用帧同步方案,第一客户端、第二客户端可以每隔预设时间 (例如固定帧)向服务器发送第一业务对象、第二业务对象的移动状态,具体可以包括第一 业务对象、第二业务对象的真实位置,移动速度,操作信息,以及,其他业务对象的显示位置 等等。服务器也可以将第一业务对象、第二业务对象的移动状态发送至第二客户端、第一客 户端。
[0120] 需要说明的是,预设时间太小会因为频繁传输可能造成网络压力,预设时间太大 可能达不到良好的模拟效果。例如,当2D游戏中的画面为30帧/秒时,预设时间可以为2 帧,即时间间隔为133毫秒,客户端每2帧向服务器发送移动状态进行同步。
[0121] 步骤202,当所述真实位置与所述显示位置之间的距离超过预设的偏差阈值时,依 据所述第二业务对象对应的操作信息计算预设时间内所述第二业务对象的预测位置;
[0122] 由于网络延时等因素,第二客户端的操作信息不能完全实时传达到第一客户端中 模拟第二业务对象的运行,使得第二业务对象的真实位置和显示位置存在一定偏差。
[0123] 一方面,可以允许真实位置和显示位置之间存在微小的距离差异,这个差异并不 影响游戏的运行,并且可以减少客户端的运算负担。
[0124] 另一方面,当真实位置和显示位置之间的距离差异超过预设的偏差阈值时,已经 影响到了游戏的运行,需要进行校正。
[0125] 在本发明的一种优选实施例中,步骤201可以包括如下子步骤:
[0126] 子步骤S11,在所述操作信息对应的水平方向上,执行所述第二业务对象在水平方 向的第一移动速度和预设时间的乘积计算,获得水平移动距离;
[0127] 子步骤S12,在水平方向上,执行所述真实位置和所述水平移动距离的加法计算, 获得水平方向的预测位置;
[0128] 子步骤S13,在所述操作信息对应的坚直方向上,通过以下公式计算坚直移动距 离: ]^
[0129] A5 -y<t--gt2
[0130] 其中,AS为坚直移动距离,V3为所述第二业务对象在坚直方向的第二移动速度, g为预置的模拟重力加速度,t为预设时间;
[0131] 子步骤S14,在坚直方向上,执行所述真实位置和所述坚直移动距离的加法计算, 获得坚直方向的预测位置。
[0132] 在具体实现中,操作信息可以包括按键信息、游戏手柄信息、鼠标点击信息等等。 例如,按键信息可以包括键盘按键W、S、A、D,其中,W对应的操作指示可以为向上跳,S对应 的操作指示可以为向下蹲,A对应的操作指示可以为向左移动,D对应的操作指示可以为向 右移动。
[0133] 业务对象的移动速度可以为服务器设定的属性,例如预先设定向上起跳的初速 度、走动速度、跑动速度等移动速度和模拟重力加速度,预先设定诸如游戏道具等其他业务 对象对移动速度的影响,即可合成计算在水平方向和坚直方
当前第2页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1