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

文档序号:9238139阅读:来源:国知局
向的移动速度。
[0134] 分别计算在预设时间内,水平方向、坚直方向对应的水平移动距离、坚直移动距 离,再基于当前的真实位置即可获得预测位置。
[0135] 例如,参见图3,示出了本发明的一种计算预测位置的示例图。具体地,此示例为 2D横版游戏,其中,X方向为水平方向,Y方向为坚直方向。在第一客户端中,A点为第二 业务对象的显示位置,B点为第二业务对象的真实位置。此示例中,第二业务对象的操作信 息水平方向为向右移动(例如键盘按键D),坚直方向受模拟重力加速度的影响,向下加速运 动,在预设时间内的预测位置为C点,其模拟的运动路径为BC。
[0136] 在本发明的一种优选实施例中,步骤201可以包括如下子步骤:
[0137] 子步骤S21,在所述操作信息对应的水平方向上,通过以下公式计算水平移动距 离:
[0138] AS=Vot-^ -aiT 2
[0139] 其中,AS为水平移动距离,V。为所述第二业务对象在水平方向的移动速度,为 所述第二业务对象在水平方向的加速度,t为预设时间;
[0140] 子步骤S22,在水平方向上,执行所述真实位置和所述水平移动距离的加法计算, 获得水平方向的预测位置;
[0141] 子步骤S23,在所述操作信息对应的坚直方向上,通过以下公式计算坚直移动距 离:
[0142] = 丄时2 2
[0143] 其中,AS为坚直移动距离,V3为所述第二业务对象在坚直方向的第二移动速度, a2为所述第二业务对象在坚直方向的加速度,t为预设时间;
[0144] 子步骤S24,在坚直方向上,执行所述真实位置和所述坚直移动距离的加法计算, 获得坚直方向的预测位置。
[0145]在本发明实施例中,考虑了其他业务对象对第二业务对象的运动状态的影响,在 水平方向和坚直方向上可以在合成加速度后计算水平移动距离和坚直移动距离。
[0146] 需要说明的是,水平方向上的加速度可以为0,坚直方向上除模拟重力加速度外的 加速度也可以为〇,本发明实施例对此不加以限制。
[0147] 此外,当第二业务对象进行变加速运动时,也可以基于变加速度分别计算水平移 动距离和坚直移动距离,获得预测位置。
[0148] 步骤203,计算在水平方向上所述第二业务对象从所述显示位置在预设时间内移 动到所述预测位置的加速度;
[0149] 在具体实现中,可以通过以下公式计算在水平方向上所述第二业务对象从所述显 示位置在预设时间内移动到所述预测位置的加速度:
[0150] S.i = S?+y.it+ - at
[0151] 其中,Si为在水平方向的预测位置,S2为在水平方向的显示位置,Vi为所述第二业 务对象在水平方向的第一移动速度,a为加速度,t为预设时间。
[0152] 例如,在图3所示的示例中,显示位置A点的坐标为(XA,YA),预测位置C点的坐标 为(X。,Y。),即X。为在水平方向的预测位置,XA为水平方向的显示位置。
[0153] 步骤204,将所述加速度发送至所述第一客户端;
[0154] 所述第一客户端可以用于在坚直方向上将所述第二业务对象从所述显示位置移 动到所述真实位置,在坚直方向上按照所述操作信息在预设时间内将所述第二业务对象从 所述真实位置移动到所述预测位置,以及,在水平方向上按照所述操作信息和所述加速度, 在预设时间内将所述第二业务对象从所述显示位置移动到所述预测位置。
[0155] 在计算出加速度之后,可以发送至第一客户端,由第一客户端进行位置校正。
[0156] 参照图4,示出了本发明的一种2D游戏中客户端的同步方法实施例2的步骤流程 图,其中,所述客户端可以包括第一客户端和第二客户端,所述第一客户端可以对应第一业 务对象,所述第二客户端可以对应第二业务对象;
[0157] 所述的方法可以包括如下步骤:
[0158] 步骤401,在所述第一客户端侧接收服务器侧发送的所述第二业务对象对应的加 速度;
[0159] 其中,所述加速度为所述服务器在所述真实位置与所述显示位置之间的距离超过 预设的偏差阈值时,依据所述第二业务对象对应的操作信息计算预设时间内所述第二业务 对象的预测位置,计算在水平方向上所述第二业务对象从所述显示位置在预设时间内移动 到所述预测位置的加速度;所述显示位置为所述第二业务对象在所述第一客户端中显示的 位置;
[0160] 在具体实现中,第一客户端侧在接收到加速度后,可以进行位置校正。
[0161] 步骤402,在坚直方向上将所述第二业务对象从所述显示位置移动到所述真实位 置;
[0162] 本发明实施例中,坚直方向可以是将第二业务对象从显示位置直接拉扯到真实位 置,是瞬时完成的,没有用加速度去纠正。
[0163] 由于第二业务对象在坚直方向的移动速度是一个相对大的值,当帧同步方案中的 预设时间取值适当,例如2帧,在出现瞬移时,其瞬移的距离与正常的较大速度的位置移动 距离可以很接近,用户依靠眼睛是很难分辨出是出现瞬移还是发生了一个正常的较大的速 度位置移动。
[0164] 例如,参见图5,示出了本发明的一种位置校正的示例图;在图4所示的示例中,显 示位置A点的坐标为(XA, YA),真实位置B点的坐标为(XB, YB),应用本发明实施例,在坚直 方向上将第二业务对象从显示位置A点(即YA)移动到真实位置B点(即YB),其移动路径为 0A。
[0165] 步骤403,在坚直方向上按照所述操作信息在预设时间内将所述第二业务对象从 所述真实位置移动到所述预测位置;
[0166] 在具体实现中,在坚直方向上可以按照帧同步方案中服务器下发的移动状态将第 二业务对象移动到预测位置。
[0167] 在本发明的一种优选实施例中,步骤403可以包括如下子步骤:
[0168] 子步骤S31,在所述操作信息对应的坚直方向上,通过以下坚直移动速度在预设时 间内将所述第二业务对象从所述真实位置移动到所述预测位置:
[0169] V4=V5-gA t
[0170] 其中,V4为坚直移动速度,V5为所述第二业务对象在坚直方向的第三移动速度,g 为预置的模拟重力加速度,At为当前时间与真实位置对应的时间之间的时间间隔。
[0171] 在本发明实施例中,第二业务对象进行匀加速运动。
[0172] 在本发明的一种优选实施例中,步骤403可以包括如下子步骤:
[0173] 子步骤S32,在所述操作信息对应的坚直方向上,通过以下坚直移动速度在预设时 间内将所述第二业务对象从所述真实位置移动到所述预测位置:
[0174] V4=V5+a3 A t
[0175] 其中,V4为坚直移动速度,V5为所述第二业务对象在坚直方向的第三移动速度,a3 为所述第二业务对象在水平方向的加速度,,△t为当前时间与真实位置对应的时间之间的 时间间隔。
[0176] 在本发明实施例中,考虑了其他业务对象对第二业务对象的运动状态的影响,a3 为预置的模拟重力加速度g与坚直方向上其他加速度的合加速度。
[0177] 步骤404,在水平方向上按照所述操作信息和所述加速度,在预设时间内将所述第 二业务对象从所述显示位置移动到所述预测位置。
[0178] 在具体实现中,在水平方向上可以按照帧同步方案中服务器下发的移动状态以及 加速度将第二业务对象移动到预测位置。
[0179] 在本发明的一种优选实施例中,步骤404可以包括如下子步骤:
[0180] 子步骤S41,在所述操作信息对应的水平方向上,通过以下水平移动速度在预设时 间内将所述第二业务对象从所述显示位置移动到所述预测位置:
[0181] V6=V7+a A t
[0182] 其中,V6为水平移动速度,V7为所述第二业务对象在水平方向的第四移动速度,a 为所述加速度,At为当前时间与真实位置对应的时间之间的时间间隔。
[0183] 在本发明实施例中,可以按照匀加速直线运动将述第二业务对象从显示位置移动 到预测位置。
[0184] 例如,参见图6,示出了本发明的一种位置校正的示例图;显示位置A点的坐标为 (XA,YA),预测位置C点的坐标为(XC,YC),应用本发明实施例,可以在水平方向上将第二业务 对象从显示位置A点(即XA)移动到预测位置C点(即X。)。
[0185] 在此示例中,在坚直方向和水平方向的合成移动的模拟路径可以为0C。如果计算 得到水平移动速度为10,坚直移动速度为20,则可以在一帧开始时将水平方向位置移动10 像素,坚直方向速度移动20像素。
[0186] 在本发明的一种优选实施例中,步骤404可以包括如下子步骤:
[0187] 子步骤S42,在所述操作信息对应的水平方向上,通过以下水平移动速度在预设时 间内将所述第二业务对象从所述显示位置移动到所述预测位置:
[0188] V6=V7+a4 A t
[0189] 其中,V6为水平移动速度,V7为所述第二业务对象在水平方向的第四移动速度,a4 为所述加速度a与在水平方向上其他加速度的合加速度,△t为当前时间与真实位置对应 的时间之间的时间间隔。
[0190] 在本发明实施例中,考虑了其他业务对象对第二业务对象的运动状态的影响。
[0191] 本发明实施例在监测到第二业务对象的真实位置与显示位置之间的距离超过预 设的偏差阈值时,计算第二业务对象的预测位置,依据预测位置计算校正的加速度,在校正 时,在坚直方向先进行直接拉扯,然后再按照第二业务对象的操作信息正常进行移动,在水 平方向上按照该加速度进行加速运动进行校正,通过将移动分拆模拟校正,在具有模拟重 力加速度的情况下更加贴近真实的移动路径,提高了同步的精确度,进而可以减少诸如直 接穿越其他业务对象等不真实情况的发生,提高了用户体验。
[0192] 在本发明的一种优选实施例中,可以在服务器中执行"监测所述第二业务对象的 真实位置与显示位置"的步骤,可以在第一客户端中执行"当所述真实位置与所述显示位置 之间的距离超过预设的偏差阈值时,依据所述第二业务对象对应的操作信息计算预设时间 内所述第二业务对象的预测位置"、"在坚直方向上将所述第二业务对象从所述显示位置移 动到所述真实位置"、"在坚直方向上按照所述操作信息在预设时间内将所述第二业务对象 从所述真实位置移动到所述预测位置"、"在水平方向上按照所述操作信息和所述加速度, 在预设时间内将所述第二业务对象从所述显示位置移动到所述预测位置"的步骤,由于本 发明实施例与方法实施例1、2的应用基本相似,所以描述的比较简单,相关之处参见方法 实施例1、2的部分说明即可,本发明实施例在此不加以详述。
[0193] 需要说明的是,对于方法实施例,为了简单描述,故将其都表述为一系列的动作组 合,但是本领域技术人员应该知悉,本发明实施例并不受所描述的动作顺序的限制,因为依 据本发明实施例,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该 知悉,说明书中所描述的实
当前第3页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1