模拟安卓环境中游戏程序运行控制方法及装置的制造方法_2

文档序号:8420922阅读:来源:国知局
乐/视频播放终端,例如可以是PDA、MID(Mobile Internet Device,移动互联网设备)和/或具有音乐/视频播放功能的移动电话,也可以是智能电视、机顶盒等设备。
[0033]本技术领域技术人员可以理解,这里所使用的远端网络设备,其包括但不限于计算机、网络主机、单个网络服务器、多个网络服务器集或多个服务器构成的云。在此,云由基于云计算(Cloud Computing)的大量计算机或网络服务器构成,其中,云计算是分布式计算的一种,由一群松散耦合的计算机集组成的一个超级虚拟计算机。本发明的实施例中,远端网络设备、终端设备与WNS服务器之间可通过任何通信方式实现通信,包括但不限于,基于3GPP、LTE、WIMAX的移动通信、基于TCP/IP、UDP协议的计算机网络通信以及基于蓝牙、红外传输标准的近距无线传输方式。
[0034]Genymot1n是一套完整的工具集,旨在为Android提供虚拟环境,支持Windows、Linux, Mac OS X等系统平台,具有模拟运行速度快,画片流畅,且支持OpenGL 3D加速、多开、全屏等特性,并提供Eclipse、IntelliJ IDEA的开发插件。Genymot1n可以支持几乎全部版本的Android系统,能够充分利用其CPU,基于VirtualBox虚拟机运行。相比Android模拟器bluestacks,可以直接调用基于x86的硬件资源,充分利用CPU资源,对占用大量内存的大型游戏也能够提供良好的性能。
[0035]本发明所述模拟安卓环境,具体指在基于Windows、Linux、Mac OS X等系统的个人PC或服务器上,运行在与上述以Genymot1n为支撑的VirtualBox中的Android ROM文件。所述Android ROM文件具体是对官方Android ROM文件做自定义修改后的ROM文件。将所述自定义的Android ROM文件安装加载到以Genymot1n为支撑的VirtualBox中,在由运行ROM文件提供的模拟安卓环境中,加载手机游戏APP或其他相关应用软件,使得手机游戏APP能够运行在基于Windows、Linux、Mac OS X等操作系统的个人PC或服务器。
[0036]请参阅图1所示的模拟安卓环境中游戏程序运行控制方法的流程示意图,本发明所述方法包括以下步骤:
[0037]S11、在模拟安卓环境中加载游戏程序及其运行相关数据;
[0038]当启动以Genymot1n为支撑的VirtualBox后,加载自定义的Android ROM文件,即系统文件,读取文件中的安卓系统文件并运行,以此构造出模拟安卓环境。所述自定义Android ROM文件具体指对官方Android ROM文件进行自适应修改的ROM文件。
[0039]当用户点选模拟安卓环境中的手机游戏图标,以启动该手机游戏时,模拟安卓环境所对应的由ROM构造出的操作系统便对用户操作指令作出响应,从而加载相应的游戏程序及其运行相关数据,以确保该程序的正常运行。该些相关数据包括视频数据、音频数据以及其它由本领域技术人员所了解的游戏运行所需数据,将该些相关数据调入系统内存以便确保手机游戏程序的正常运行。
[0040]S12、启动后台服务,用于将用户的操作指令映射为模拟安卓环境中相应的操作指令;
[0041]用户玩游戏过程中,会执行一系列操作,模拟安卓系统将用户在基于Windows、Linux, Mac OS X等系统的个人PC或服务器上执行的操作,映射为模拟安卓环境中相应的操作。以下列举一些用户操作:
[0042]1、文字输入
[0043]用户在玩游戏的过程中,会进行玩家间的互动,如发验证码,聊天等行为。由于用户通过个人PC或服务器上的输入法进行输入操作,不同于模拟安卓系统下的输入法,故需要将个人PC或服务器上的输入法输入的文字转换为模拟安卓系统下的输入法输入的文字,具体原理为:
[0044]自定义的ROM系统文件中预先写入输入法的一个后台服务server,当游戏启动时启动server,用户通过个人PC或服务器的输入法输入文字或进行复制粘贴时,个人PC或服务器中安装的genymot1n主程序作为客户端,所述后台服务server作为服务端,两者基于UDP协议进行socket通信,其中,所述服务端预先指定一个固定端口,客户端随机生成一个端口,将个人PC或服务器的输入法输入的文字或复制粘贴的文字通过相应的端口传递给后台服务server,一旦后台服务server的端口接收到主程序发来的数据,则将该数据显示在游戏的相应输入框中。其中,所述文字数据具体为文字所对应的CPU可识别的编码。此夕卜,由于genymot1n可以直接调用其宿主主机的硬件资源,不同于bluestacks需要进行转码才能让宿主主机的CPU运行,所以利用genymot1n可以提高个人PC或服务器层与模拟安卓系统层的通信效率。
[0045]同理,当用户将游戏界面输入框中的文字复制粘贴至个人PC或服务器中时,所述个人PC或服务器中安装的genymot1n主程序作为服务端,后台服务server作为客户端,两者基于UDP协议进行socket通信,将游戏界面中复制粘贴的文字通过相应的端口传递给个人PC或服务器。其中,所述文字数据具体为文字所对应的CPU可识别的编码。
[0046]2、模拟按键
[0047]为了方便用户操作模拟安卓环境中的手机游戏程序,设置模拟按键。在ROM中预先写入一个server,将用户在实体键盘上的操作指令映射为模拟安卓环境中手机游戏对应的模拟按键的操作。具体操作原理如下:
[0048]用户点击实体键盘,键盘发送脉冲给实体键盘的主机,主机中运行的Windows、Linux或Mac OS X等操作系统接收到键盘发送的脉冲,检测到信号有变化,根据接收到的信号分析哪个按键被触发了,操作系统内部记录有信号与按键之间的映射关系。个人PC或服务器中的Android虚拟机genymot1n的主程序与后台服务server进行基于UDP协议的socket通信,将该按键对应的按键代码通过相应端口发送给模拟安卓环境中server对应端口。所述实体键盘的按键代码与手机游戏的虚拟按键之间设定一个对应关系,以关系列表的方式进行存储,用于记录实体键盘代码与手机游戏的虚拟按键之间的映射关系。如实体键盘的“W”表示虚拟按键“上”,实体键盘的“S”表示虚拟按键“下”,实体键盘的“A”表示虚拟按键“左”,实体键盘的“D”表示虚拟按键“右”,通过实体键盘对应的按键代码确定用户点击的虚拟按键。
[0049]以上只是列举了一部分用户操作,对于其他用户的操作也同样用基于UDP协议的socket通信方式,通过启动一个后台服务,将基于Windows、Linux或Mac OS X等操作系统个人PC或服务器中的用户操作指令映射为模拟安卓环境中用户的操作指令。
[0050]S13、在模拟安卓环境所提供的图像显示区显示游戏图像。
[0051]OpenGL ES是OpenGL三维图像API的子集,针对手机、PDA和游戏主机等嵌入式设备而设计。EGL是OpenGL ES与平台视窗系统之间的接口。通过调用EGL使得手机游戏的相关图像视频显示在模拟显示器中,调用EGL的实质是调用OpenGL的库函数进行图像绘制,并显示在相应的系统视窗中,其中,模拟安卓环境通过在显示器上开辟一图像显示区,即模拟图像显示区,来呈现游戏图像。
[0052]当模拟安卓环境中的手机游戏运行时,其要显示的图像首先通
当前第2页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1