发明内容
针对现有技术的缺陷,本发明实施例提供一种游戏操作复制方法、装置与客户端,通过提供操作复制功能来避免用户的重复操作。
为了实现上述目的,本发明实施例提供一种游戏操作复制方法,所述方法包括:当使用不同账号在多个窗口操作同一游戏时,在所述多个窗口中确定主同步游戏窗口与次同步游戏窗口;将所述主同步游戏窗口的操作进行复制并提供给所述次同步游戏窗口,使所述次同步游戏窗口执行相同的操作。
所述窗口中设置有操作复制控件;在所述多个窗口中确定主同步游戏窗口与次同步游戏窗口包括:判断某一窗口的操作复制控件是否被用户点击,将被点击的窗口确定为主同步游戏窗口,将未被点击的窗口确定为次同步游戏窗口。
将所述主同步游戏窗口的操作进行复制并提供给所述次同步游戏窗口包括:获取所述主同步游戏窗口的句柄与所述次同步游戏窗口的句柄;根据所述主同步游戏窗口的句柄,拦截所述主同步游戏窗口中的游戏操作消息并存储;根据所述次同步游戏窗口的句柄,将存储的所述主同步游戏窗口中的游戏操作消息发送给所述次同步游戏窗口。
拦截所述主同步游戏窗口中的游戏操作消息并存储包括:拦截所述主同步游戏窗口中的游戏操作消息;判断所拦截的消息是否为鼠标或键盘操作消息;如果是鼠标或键盘操作消息则存储,否则丢弃。
所述主同步游戏窗口中的游戏操作消息存储在链表中。
所述将存储的所述主同步游戏窗口中的游戏操作消息发送给所述次同步游戏窗口包括:判断所述主同步游戏窗口在完成所述游戏操作后,是否经过了一预定时长;如果达到所述预定时长则将存储的所述主同步游戏窗口中的游戏操作消息发送给所述次同步游戏窗口。
为了实现上述目的,本发明实施例还提供一种游戏操作复制装置,所述装置包括:窗口确定单元,用于当使用不同账号在多个窗口操作同一游戏时,在所述多个窗口中确定主同步游戏窗口与次同步游戏窗口;操作同步单元,用于将所述主同步游戏窗口的操作进行复制并提供给所述次同步游戏窗口,使所述次同步游戏窗口执行相同的操作。
所述窗口中设置有操作复制控件;所述窗口确定单元,具体用于判断某一窗口的操作复制控件是否被用户点击,将被点击的窗口确定为主同步游戏窗口,将未被点击的窗口确定为次同步游戏窗口。
所述操作同步单元包括:窗口句柄获取单元,用于获取所述主同步游戏窗口的句柄与所述次同步游戏窗口的句柄;窗口消息存储单元,用于根据所述主同步游戏窗口的句柄,拦截所述主同步游戏窗口中的游戏操作消息并存储;操作消息发送单元,用于根据所述次同步游戏窗口的句柄,将存储的所述主同步游戏窗口中的游戏操作消息发送给所述次同步游戏窗口。
所述窗口消息存储单元包括:消息拦截单元,用于拦截所述主同步游戏窗口中的游戏操作消息;消息判断单元,判断所拦截的消息是否为鼠标或键盘操作消息;存储执行单元,用于当所拦截的消息为鼠标或键盘操作消息时,则存储所述消息,否则丢弃所述消息。
为了实现上述目的,本发明实施例还提供一种客户端,所述客户端包括前述实施例所述的游戏操作复制装置。
本发明的有益效果在于:本发明实施例的游戏操作复制方法、装置与客户端,通过将多个游戏窗口之间的游戏操作进行同步,能够在同一个游戏、同一服或区实现多个游戏、不同游戏角色的操作复制,避免了用户对每个游戏窗口的重复操作,提高了用户的游戏体验。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明实施例提供一种游戏操作复制方法与装置,该操作复制功能正是基于现有技术存在的问题而设计的,它能够使用户在同一个游戏或同一服或区(一服或区包括多个区,可由多个服务器组成,一服或区处理的用户量一般是10万)开启多个账号玩同一个游戏的情况下,不同账号下的游戏角色的操作可以同步复制。
图1为本发明实施例提供的一种游戏操作复制方法的整体流程图,如图1所示,该方法包括:
S101、当使用不同账号在多个窗口操作同一游戏时,在所述多个窗口中确定主同步游戏窗口与次同步游戏窗口。
可选地,所述窗口中设置有操作复制控件;S101具体包括:当某一窗口的操作复制控件被用户点击时,将被点击的窗口确定为主同步游戏窗口,将未被点击的窗口确定为次同步游戏窗口。
S102、将所述主同步游戏窗口的操作进行复制并提供给所述次同步游戏窗口,使所述次同步游戏窗口执行相同的操作。
图2为S102的细化流程图,如图2所示,S102具体包括:
S201、获取所述主同步游戏窗口的句柄与所述被同步游戏窗口的句柄。
句柄为窗口的标识,通过句柄可以唯一确定一个窗口。
S202、根据所述主同步游戏窗口的句柄,拦截所述主同步游戏窗口中的游戏操作消息并存储。
可选地,S202包括:拦截所述主同步游戏窗口中的游戏操作消息;判断所拦截的消息是否为鼠标或键盘操作消息;如果是鼠标或键盘操作消息,则存储,否则丢弃。
这样做的理由是,鼠标和键盘消息代表的是游戏过程中的实际操作动作,因此只有鼠标和键盘消息才需要保存和生成链表,否则如果什么消息都保存,会使系统效率降低。
可选地,S202中,主同步游戏窗口中的游戏操作消息存储在链表中。本实施例选取链表来存储是因为:相比于线性表顺序结构,链表比较方便插入和删除操作。
S203、根据所述次同步游戏窗口的句柄,将存储的所述主同步游戏窗口中的游戏操作消息发送给所述次同步游戏窗口。
可选地,S203具体包括:判断所述主同步游戏窗口在完成所述游戏操作后,是否经过了一预定时长;如果达到所述预定时长则将存储的所述主同步游戏窗口中的游戏操作发送给所述次同步游戏窗口。
这样做的理由是:在游戏供应商的服务器上,会设置判断用户状态的模块,当两个账号代表的不同角色操作完全一致时,服务器在对角色的处理上容易混乱,因此在操作复制上也需保证不同账号代表的游戏角色之间存在一定的操作时间差,以避免干扰游戏供应商的服务器工作。
对应于前述实施例的方法,本实施例的在开启多个账户玩同一个游戏时的实际操作步骤如下:
1、首先以不同账号登录游戏,这样会自动在一个游戏窗口中打开多个tab。
2、在多个tab的游戏角色设置中,统一游戏线路或者战区,为同步操作设定一个统一的游戏环境。
3、监测用户是否有要进行同步的多个游戏,如果有,则将要同步的多个账号分为主同步游戏1和次同步游戏2,3...n,选中其中一个tab按下操作复制控件,该tab中的游戏角色就代表了主同步游戏,主同步游戏和次同步游戏采用不同的标识进行区分。
4、进行主同步游戏和次同步游戏之间的操作复制。该步骤具体包括:
1)查看当前运行的游戏是不是主同步游戏,如果是主同步游戏,就将经过该游戏的消息进行拦截、判断以及保存操作,如将主同步游戏的所有操作消息保存在链表里。
具体地:首先要判断是否是来自主同步游戏窗口的消息,这可以通过判断该消息是否携带了主同步游戏窗口的标识(如窗口句柄)来判断;如果是主同步游戏窗口的消息,则进一步判断是否是主同步游戏窗口的鼠标或者键盘消息,由于windows下每个消息都有一定格式,可以通过消息内携带区分硬件的标识来判断消息类型,只有鼠标和键盘消息才需要保存和生成链表,否则丢弃。
2)通过计时器将消息发给次同步游戏2,3...n。
具体地,本实施例需要用到计时器,以保证主同步游戏窗口与次同步游戏窗口之间的操作有一个时间差。在发送主同步游戏窗口的消息给次同步游戏窗口时,首先需要获取次同步游戏窗口的句柄,将保存好的消息通过“SendMessage”方式发送给次同步游戏窗口,次同步游戏窗口收到消息之后就实现了该操作消息所指示的操作,从而达到与主同步游戏窗口的操作同步的效果。
图3为本发明实施例提供的一种游戏操作复制方法的细化流程图。如图3所示,该方法包括:
S301、用户点击窗口中的操作复制控件;
S302、判断是否符合操作复制条件;本实施例中操作复制条件包括:a、至少开启两个游戏帐号;b、操作相同的游戏;c、处于相同的服或区;如果符合条件则进入S305,否则进入S303和S304;
S303、终止操作复制;
S304、弹出输入复制账号提示框或者其他原因的提示框;表示无法完成操作复制功能;
S305、根据用于所点击的窗口操作复制控件,确定主同步游戏1,以及次同步游戏2,3,......,n;
S306、获取主同步游戏1的窗口句柄,获取次同步游戏2,3,......,n的窗口句柄;
S307、拦截主同步游戏1的游戏操作消息;
S308、判断消息类型,存储鼠标或键盘操作消息,丢弃其他消息;
S309、判断主同步游戏与次同步游戏之间的消息时间差是否大于预设值T;如果是则进入S311,否则进入S310;
S310、暂时不发送存储的消息至次同步游戏2,3,......,n的窗口;
S311、将存储的消息发送至次同步游戏2,3,......,n的窗口;
S312、次同步游戏2,3…n的不同帐号游戏角色重复主同步游戏1中角色做出的操作。
对应于前述实施例的方法,本发明实施例还提供一种游戏操作复制装置。图4为游戏操作复制装置10的功能框图,如图4所示,该装置10包括:窗口确定单元401,用于当使用不同账号在多个窗口操作同一游戏时,在所述多个窗口中确定主同步游戏窗口与次同步游戏窗口;操作同步单元402,用于将所述主同步游戏窗口的操作进行复制并提供给所述次同步游戏窗口,使所述次同步游戏窗口执行相同的操作。
可选地,所述窗口中设置有操作复制控件;所述窗口确定单元401,具体用于判断某一窗口的操作复制控件是否被用户点击,将被点击的窗口确定为主同步游戏窗口,将未被点击的窗口确定为次同步游戏窗口。
图5为操作同步单元402的细化功能框图,如图5所示,操作同步单元402进一步包括:窗口句柄获取单元501,用于获取所述主同步游戏窗口的句柄与所述次同步游戏窗口的句柄;窗口消息存储单元502,用于根据所述主同步游戏窗口的句柄,拦截所述主同步游戏窗口中的游戏操作消息并存储;操作消息发送单元503,用于根据所述次同步游戏窗口的句柄,将存储的所述主同步游戏窗口中的游戏操作消息发送给所述次同步游戏窗口。
图6为窗口消息存储单元502的细化功能框图,如图6所示,窗口消息存储单元502进一步包括:消息拦截单元601,用于拦截所述主同步游戏窗口中的游戏操作消息;消息判断单元602,判断所拦截的消息是否为鼠标或键盘操作消息;存储执行单元603,用于当所拦截的消息为鼠标或键盘操作消息时,则存储所述消息,否则丢弃所述消息。
对应于前述实施例的方法与装置,本发明实施例还提供一种客户端,该客户端包含了前述实施例的游戏操作复制装置10。可选地,该客户端为快玩产品,快玩产品是集小游戏、单机游戏、网页游戏和网络游戏的游戏平台,包括客户端、传输网络以及服务器端。该客户端安装在用户终端上,比如电脑、掌机等。
图7为本实施例客户端的功能框图,如图所示,本实施例的客户端还包括界面交互装置20、账号处理装置30、存储装置40、管理装置50以及传输控制装置60。界面交互装置20实现用户和客户端以及服务器的交互;账号处理装置30用于接收用户输入的多个账户信息,并保存于存储装置40中;传输控制装置60用于实现游戏的快速下载;管理装置50用于调度和控制上述游戏操作复制装置10、界面交互装置20、账号处理装置30、存储装置40以及传输控制装置60,实现和用户的互动和传输。
本发明实施例的游戏操作复制方法、装置与客户端,通过将多个游戏窗口之间的游戏操作进行同步,能够在同一个游戏、同一服或区实现多个游戏、不同游戏角色的操作复制,避免了用户对每个游戏窗口的重复操作,提高了用户的游戏体验。
以上实施例仅用以说明本发明实施例的技术方案,而非对其限制;尽管参照前述实施例对本发明实施例进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明实施例各实施例技术方案的精神和范围。