基于模拟键盘控制游戏方法和装置的制作方法

文档序号:6362733阅读:194来源:国知局
专利名称:基于模拟键盘控制游戏方法和装置的制作方法
技术领域
本发明涉及计算机技术,特别涉及基于模拟键盘控制游戏方法和装置。
背景技术
目前基于安卓(Android)平台的终端设备大部分都是以触摸屏为主,没有实际的方向导航键比如上下左右键,因此,基于Android平台的游戏也大部分是基于触摸屏、重力感应等进行操作的。而为了提高基于Android平台的游戏的操作灵活性,现有技术做了一些改进:如,部分游戏厂商利用基于Android平台的终端设备的触控特性制作类似360度摇杆作为游戏方向键来控制游戏,以改善游戏体验;以及,目前Google对外发布的Android2.3版本也加入了对虚拟手柄的支持,这一特点,将会让第三方游戏厂商在开发基于Android平台的游戏时有了更大的灵活性,使基于Android平台的游戏越来越丰富。但是,无论是上述的360度摇杆还是Android2.3提供的虚拟手柄,由于其都是基于触屏、重力感应等进行操作,而在游戏实际应用中,方向控制操作等会被Android系统拦截,进而导致无法控制游戏。因此,就需要第三方游戏厂商针对Android平台重新进行游戏开发或者对现有游戏进行改进以适应Android平台上的操控。而一些经典游戏,比如常用的网页游戏Flash游戏、新的html5游戏等,已拥有大量的用户群,如果针对Android平台再重新进行游戏开发或者进行改进以兼容Android平台,不仅大大加重游戏开发人员的压力,也会给用户在Android平台上操作这些重新开发的或者进行改进的经典游戏带来困难。

发明内容
本发明提供了基于模拟键盘控制游戏方法和装置,实现现有经典游戏在不进行任何改动的前提下兼容Android平台。本发明提供的技术方案包括:—种基于模拟键盘控制游戏方法,在网页浏览器上加载网页游戏,并在所述网页浏览器上面添加一个容器,所述容器上设置有模拟键盘按键的方向控制按键,所述方向控制按键用于控制所述网页游戏的方向;所述方法包括:步骤A,接收按键事件,所述按键事件携带按键对应的按键类型判断标识和对应的按键描述;步骤B,判断所述按键事件携带的按键类型判断标识是否表示方向控制按键,如果是,则修改所述按键事件携带的按键类型判断标识为不表示方向控制按键的其他按键类型判断标识,并发送修改后的按键事件至网页浏览器;步骤C,所述网页浏览器利用按键事件携带的按键描述控制其加载的网页游戏。一种基于模拟键盘控制游戏装置,该装置中,网页浏览器上需加载网页游戏,并添加一个容器,所述容器上设置有模拟键盘按键的方向控制按键,所述方向控制按键用于控制所述网页游戏的方向,该装置包括:接收单元,用于接收按键事件,所述按键事件携带按键对应的按键类型判断标识和对应的按键描述;判断单元,用于判断所述按键事件携带的按键类型判断标识是否表示方向控制按键,如果是,则修改所述按键事件携带的按键类型判断标识为不表示方向控制按键的其他按键类型判断标识,并发送修改后的按键事件至网页浏览器,由所述网页浏览器利用按键事件携带的按键描述控制其加载的网页游戏。一种应用于基于模拟键盘控制游戏的网页浏览器,所述网页浏览器应用于如上所述的装置中,包括:加载单元,用于加载网页游戏,并在所述网页浏览器上面添加一个容器,所述容器上设置有模拟键盘按键的方向控制按键,所述方向控制按键用于控制所述网页游戏的方向;控制单元,用于接收如上所述判断单元发送的按键事件,利用按键事件携带的按键描述控制其加载的网页游戏。由以上技术方案可以看出,本发明中,通过在网页浏览器上加载网页游戏,并在所述网页浏览器上面添加一个容器,所述容器上设置有模拟键盘按键的方向控制按键,如此,接收按键事件,所述按键事件携带按键对应的按键类型判断标识和对应的按键描述;判断所述按键事件携带的按键类型判断标识是否表示方向控制按键,如果是,则修改所述按键事件携带的按键类型判断标识为不被系统拦截的按键标识,以使修改后的按键事件绕过系统拦截传递至所述网页浏览器,由所述网页浏览器利用按键事件携带的按键描述控制其加载的网页游戏。这实现了在Android平台上对现有网页游戏如Flash游戏、html5游戏等游戏的控制,满足了在不改动现有网页游戏的前提下使现有经典游戏兼容Android平台。


图1为本发明实施例提供的方法流程图;图2为本发明实施例提供的装置结构图;图3为本发明实施例提供的网页浏览器结构图。
具体实施例方式为了使本发明的目的、技术方案和优点更加清楚,下面结合附图和具体实施例对本发明进行详细描述。本发明提供了基于模拟键盘控制游戏方法。参见图1,图1为本发明实施例提供的方法流程图。本流程中,需要在网页浏览器上加载网页游戏如Flash游戏、html5游戏等,并在所述网页浏览器上面添加一个容器。其中,所述容器上设置有模拟键盘按键的方向控制按键,所述方向控制按键用于控制所述网页游戏的方向,其中,不同方向控制键具有不同按键类型判断标识。优选地,本发明为了便于游戏用户利用容器上设置的案件操控网络浏览器加载的游戏,本发明可以设置上述容器的背景透明(但该容器背景的透明度不限,只要能保证游戏用户能利用容器上的按键准确操控网页浏览器加载的游戏即可)。基于此,如图1所示,该流程可包括:
步骤101,接收按键事件,所述按键事件携带按键对应的按键类型判断标识和对应的按键描述。本发明中,方向控制按键至少包括:上、下、左、右四个键,当用户触发这四个键中的任何一个键都会引起按键事件;还有,上述的按键事件可由以下任一情况引起:触摸模拟键盘上的方向控制按键,简称键盘按下(onKeyDown),或者用户从触模模拟键盘上的方向控制按键变成离开该方向控制按键,简称键盘弹起(onKeyUp)。步骤102,判断所述按键事件携带的按键类型判断标识是否表示方向控制按键,如果是,则修改所述按键事件携带的按键类型判断标识为不表示方向控制按键的其他按键类型判断标识,并发送修改后的按键事件至网页浏览器。步骤103,所述网页浏览器利用按键事件携带的按键描述控制其加载的网页游戏。下面以图1所示流程应用于Android系统,网页浏览器为Android系统的WebView为例对图1所示流程进行详细描述:步骤101中,按键事件携带以下两个参数:第一个参数,其包含按键类型判断标识,该按键类型判断标识可简称为按键码(keyCode),其仅用于条件判断,即判断用户触发的按键的类型,比如是否为方向控制按键等,以决定是否继续将该按键事件传递至WebView,其中,如果判断出方向控制按键,则拦截该按键事件,否则,直接传递按键事件至WebView;至于第二个参数,其包含按键描述,其用于描述按键事件,也称为按键事件对象(KeyEvent event);其中,按键描述中也包含按键类型判断标识,其取值等同于第一个参数中的按键类型判断标识,只不过用途不同,其是用于Android系统对按键事件进行具体操作的依据。步骤102中,由于按键事件携带的第一个参数中的按键类型判断标识用于条件判断,基于此,步骤102利用的按键类型判断标识即是第一个参数中的,与第二参数无关。其中,步骤102之所以在判断出按键事件携带的第一个参数中的按键类型判断标识表示方向控制按键,就修改第一个参数中的按键类型判断标识,目的主要是因为:一些系统,以Android系统为例,在处理按键事件时,会根据按键事件中第一个参数的按键类型判断标识对按键类型进行判断,其中,如果Android系统判断出按键类型判断标识为系统的方向控制键,则会直接拦截该按键事件,如此,Android系统中WebView加载的游戏就不能得到方向控制信息,进而不能进行方向控制。针对这种问题,就需要调用父类对象比如super.0nKeyDown或者super.0nKeyUp,修改按键事件携带的第一个参数中的按键类型判断标识为不表示方向控制按键的其他按键类型判断标识,以保证该修改后的按键事件不被系统拦截。以方向控制按键包括:上、下、左、右四个键为例,假如,本发明设置这四个键的按键类型判断标识依次为31、32、33、34,如此,本发明就可以在判断出第一个参数的按键类型判断标识为31、32、33、或34时,将该31、32、33、或34修改为除该四个数值之外的其他数值,比如,修改为38,这样,就能使修改后的按键事件绕过Android系统的拦截传递至WebView。至于WebView如何进行按键事件处理,其使用的是按键事件携带的第二个参数,具体为第二个参数中按键描述包含的按键类型判断标识作为后续操作的依据,因此,即使在步骤102对按键事件中第一个参数的按键类型判断标识进行了修改,也不影响后续对按键事件进行的操作,具体见步骤103。在描述步骤103之前,先做以下描述:由于基于Android系统的终端设备都是以触摸屏为主,因此,本发明需要预先在执行步骤103之前针对WebView定义按键触摸方式(onTouch)事件,其中,按键触摸方式具体可为用户触摸按键(比如手指按下MotionEvent.ACT10N_D0WN等)或者用户从触摸按键变成离开按键(比如手指离开屏幕MotionEvent.ACT10N_UP)等。还有,尽管基于Android系统的终端设备都是以触摸屏为主,没有显示实际的方向控制键,但是,事实上,Android系统是存在该方向控制键的命令的,基于此,以方向控制按键包括:上、下、左、右四个键为例,则本发明就需要将这四个键分别与Android系统中设定的与该四个键对应的按键命令绑定。比如,方向为上的键绑定Android系统中方向为上的按键命令,其他类似,不再赘述。基于此,步骤103中,当WebView接收到按键事件后,判断按键事件(为便于下文描述,这里用event.getActionO表示接收到的按键事件)是由用户触模按键还是由用户从触摸按键变成离开按键时引起的,如果是前者,比如,event.getAction O ==MotionEvent.ACT10N_D0WN,则触发Android系统利用所述按键事件中按键描述执行按键命令,以对加载的网页游戏进行控制,比如对游戏中的当前角色进行方向持续左移、右移等,如果是后者,比如,event.getAction () = = MotionEvent.ACT10N_UP,则触发 Android系统利用所述按键事件中的按键描述执行按键命令,以对加载的网页游戏结束控制,比如停止对游戏中的当前角色进行方向左移、右移等。其中,由于按键事件中第二个参数的按键描述所包含的按键类型判断标识是用于系统对按键事件进行具体操作的依据,基于此,上述触发系统利用所述按键事件中按键描述执行按键命令具体为:将按键事件携带的第二个参数中按键描述包含的按键类型判断标识作为依据控制其加载的网页游戏。综上可以看出,本发明通过在网页浏览器上面添加一个容器,并在所述容器上设置有模拟键盘按键的方向控制按键,通过模拟按键操作,在Android平台上实现对现有网页游戏如Flash游戏、html5游戏等游戏的控制,满足了在不改动现有网页游戏的前提下使现有经典游戏兼容Android平台。上述是对游戏进行方向控制的实现描述。优选地,本发明中,为进一步对游戏进行功能控制比如控制游戏中的角色跳跃、翻跟头等,还需要在上述容器上进一步设置网页游戏对应的功能控制按键比如控制游戏角色翻跟斗的按键、控制游戏角色跳跃的按键灯,其中,不同功能控制按键具有不同按键码,且分别与系统中对应的按键命令绑定。基于此,本发明中,在步骤102可进一步包括以下步骤:如果判断出所述按键事件携带的按键类型判断标识表示功能控制按键,则直接传递所述按键事件至所述网页浏览器。至此,完成本发明提供的方法描述。下面对本发明提供的装置进行描述:参见图2,图2为本发明实施例提供的装置结构图。如图2所示,该装置中,网页浏览器上需加载网页游戏,并添加一个容器,所述容器上设置有模拟键盘按键的方向控制按键,所述方向控制按键用于控制所述网页游戏的方向,该装置包括:接收单元,用于接收按键事件,所述按键事件携带按键对应的按键类型判断标识和对应的按键描述;判断单元,用于判断所述按键事件携带的按键类型判断标识是否表示方向控制按键,如果是,则修改所述按键事件携带的按键类型判断标识为不表示方向控制按键的其他按键类型判断标识,并发送修改后的按键事件至网页浏览器,由所述网页浏览器利用按键事件携带的按键描述控制其加载的网页游戏。优选地,所述系统为安卓Android系统;所述网页浏览器为Android系统的WebView。优选地,所述方向控制按键与所述系统中对应的设定按键命令绑定,至少包括:上、下、左、右四个键;其中,不同方向控制按键对应不同的按键类型判断标识。本发明中,所述容器上进一步设置有用于控制所述网页游戏功能的功能控制按键,不同功能控制按键具有不同的按键类型判断标识,且分别与系统中对应的设定按键命令绑定;基于此,所述判断单元进一步在判断出所述按键事件携带的按键类型判断标识表示功能控制按键,则直接传递所述按键事件至所述网页浏览器。另外,本发明中,还提供了一种应用于基于模拟键盘控制游戏的网页浏览器,其中,所述网页浏览器应用于如上所述的装置中,具体包括如图3所示的以下单元:加载单元,用于加载网页游戏,并在所述网页浏览器上面添加一个容器,所述容器上设置有模拟键盘按键的方向控制按键,所述方向控制按键用于控制所述网页游戏的方向;控制单元,用于接收如图2所示判断单元发送的按键事件,利用按键事件携带的按键描述控制其加载的网页游戏。其中,所述控制单元通过以下子单元控制其加载的网页游戏:判断子单元,用于判断所述按键事件是由用户触模按键还是由用户从触摸按键变成离开按键时引起的;判断子单元,用于判断所述按键事件是由用户触模按键还是由用户从触摸按键变成离开按键时引起的;控制子单元,用于在所述判断子单元判断出所述按键事件是由用户触模按键引起时,触发系统利用所述按键事件中的按键描述执行按键命令,以对加载的网页游戏进行控制,在所述判断子单元判断出所述按键事件是由用户从触摸按键变成离开按键时引起时,触发系统利用所述按键事件中的按键描述执行按键命令,以对加载的网页游戏结束控制。至此,完成本发明提供的装置描述。由以上技术方案可以看出,本发明中,通过在网页浏览器上加载网页游戏,并在所述网页浏览器上面添加一个容器,所述容器上设置有模拟键盘按键的方向控制按键,如此,接收按键事件,所述按键事件携带按键对应的按键类型判断标识和对应的按键描述;判断所述按键事件携带的按键类型判断标识是否表示方向控制按键,如果是,则修改所述按键事件携带的按键类型判断标识为不被系统拦截的按键标识,以使修改后的按键事件绕过系统拦截传递至所述网页浏览器,由所述网页浏览器利用按键事件携带的按键描述控制其加载的网页游戏。这实现了在Android平台上对现有网页游戏如Flash游戏、html5游戏等游戏的控制,满足了在不改动现有网页游戏的前提下使现有经典游戏兼容Android平台。以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。
权利要求
1.一种基于模拟键盘控制游戏方法,其特征在于,在网页浏览器上加载网页游戏,并在所述网页浏览器上面添加一个容器,所述容器上设置有模拟键盘按键的方向控制按键,所述方向控制按键用于控制所述网页游戏的方向;所述方法包括: 步骤A,接收按键事件,所述按键事件携带按键对应的按键类型判断标识和对应的按键描述; 步骤B,判断所述按键事件携带的按键类型判断标识是否表示方向控制按键,如果是,则修改所述按键事件携带的按键类型判断标识为不表示方向控制按键的其他按键类型判断标识,并发送修改后的按键事件至网页浏览器; 步骤C,所述网页浏览器利用按键事件携带的按键描述控制其加载的网页游戏。
2.根据权利要求1所述的方法,其特征在于,所述系统为安卓Android系统; 所述网页浏览器为Android系统的WebView。
3.根据权利要求1所述的方法,其特征在于,所述方向控制按键与所述系统中对应的设定按键命令绑定,不同方向控制按键对应不同的按键类型判断标识。
4.根据权利要求2所述的方法,其特征在于,所述容器上进一步设置有用于控制所述网页游戏功能的功能控制按键,不同功能控制按键具有不同的按键类型判断标识,且分别与系统中对应的设定按键命令绑定; 步骤B进一步包括:如果判断出所述按键事件携带的按键类型判断标识表示功能控制按键,则直接传递所述按键事件至所述网页浏览器。
5.根据权利要求3或4所述的方法,其特征在于,所述网页浏览器利用按键事件携带的按键描述控制其加载的网页游戏包括: 判断所述按键事件是由用户触模按键还是由用户从触摸按键变成离开按键时引起的,如果是前者,则触发系统利用所述按键事件中的按键描述执行按键命令,以对加载的网页游戏进行控制,如果是后者,则触发系统利用所述按键事件中的按键描述执行按键命令,以对加载的网页游戏结束控制。
6.一种基于模拟键盘控制游戏装置,其特征在于,该装置中,网页浏览器上需加载网页游戏,并添加一个容器,所述容器上设置有模拟键盘按键的方向控制按键,所述方向控制按键用于控制所述网页游戏的方向,该装置包括: 接收单元,用于接收按键事件,所述按键事件携带按键对应的按键类型判断标识和对应的按键描述; 判断单元,用于判断所述按键事件携带的按键类型判断标识是否表示方向控制按键,如果是,则修改所述按键事件携带的按键类型判断标识为不表示方向控制按键的其他按键类型判断标识,并发送修改后的按键事件至网页浏览器,由所述网页浏览器利用按键事件携带的按键描述控制其加载的网页游戏。
7.根据权利要求6所述的装置,其特征在于,所述方向控制按键与所述系统中对应的设定按键命令绑定,不同方向控制按键对应不同的按键类型判断标识。
8.根据权利要求6所述的装置,其特征在于,所述容器上进一步设置有用于控制所述网页游戏功能的功能控制按键,不同功能控制按键具有不同的按键类型判断标识,且分别与系统中对应的设定按键命令绑定; 所述判断单元进一步在判断出所述按键事件携带的按键类型判断标识表示功能控制按键,则直接传递所述按键事件至所述网页浏览器。
9.一种应用于基于模拟键盘控制游戏的网页浏览器,其特征在于,所述网页浏览器应用于如权利要求6至8任一所述的装置中,包括: 加载单元,用于加载网页游戏,并在所述网页浏览器上面添加一个容器,所述容器上设置有模拟键盘按键的方向控制按键,所述方向控制按键用于控制所述网页游戏的方向; 控制单元,用于接收所述权利要求6或9中判断单元发送的按键事件,利用按键事件携带的按键描述控制其加载的网页游戏。
10.根据权利要求9所述的网页浏览器,其特征在于,所述控制单元通过以下子单元控制其加载的网页游戏: 判断子单元,用于判断所述按键事件是由用户触模按键还是由用户从触摸按键变成离开按键时引起的; 控制子单元,用于在所述判断子单元判断出所述按键事件是由用户触模按键引起时,触发系统利用所述按键事件中的按键描述执行按键命令,以对加载的网页游戏进行控制,在所述判断子单元判断出所述按键事件是由用户从触摸按键变成离开按键时引起时,触发系统利用所述按键事件中的按 键描述执行按键命令,以对加载的网页游戏结束控制。
全文摘要
本发明提供了基于模拟键盘控制游戏方法和装置。该方法中,网页浏览器上加载网页游戏,并在网页浏览器上面添加一个容器,所述容器上设置有模拟键盘按键的方向控制按键,所述方向控制按键用于控制所述网页游戏的方向;方法包括接收按键事件,所述按键事件携带按键对应的按键类型判断标识和对应的按键描述;判断所述按键事件携带的按键类型判断标识是否表示方向控制按键,如果是,则修改所述按键事件携带的按键类型判断标识为不表示方向控制按键的其他按键类型判断标识,并发送修改后的按键事件至网页浏览器;所述网页浏览器利用按键事件携带的按键描述控制其加载的网页游戏。
文档编号G06F19/00GK103198201SQ20121000468
公开日2013年7月10日 申请日期2012年1月9日 优先权日2012年1月9日
发明者张龙飞, 张智泉, 万军, 金虎光, 唐启宏, 衡阵 申请人:腾讯科技(深圳)有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1