操作系统与游戏应用交互的方法及装置制造方法及图纸

技术编号:19173822 阅读:30 留言:0更新日期:2018-10-16 23:44
本发明专利技术涉及信息处理技术领域,尤其涉及操作系统与游戏应用交互的方法及装置,所述方法包括:获取与所述游戏应用对应的游戏引擎中的mono虚拟机中的应用程序函数;调用所述应用程序函数将自定义游戏脚本注入到所述mono虚拟机中,其中,所述自定义游戏脚本用于控制所述操作系统与所述游戏应用之间的交互;执行所述自定义游戏脚本使所述操作系统与所述游戏应用进行交互。本发明专利技术实现了操作系统与游戏应用之间的交互,进而,使得操作系统能够获得游戏应用中的游戏参数,以及修改游戏应用的游戏逻辑。

Method and device for interaction between operation system and game application

The present invention relates to the field of information processing technology, in particular to a method and apparatus for interaction between an operating system and a game application. The method includes: acquiring an application function of a mono virtual machine in a game engine corresponding to the game application; calling the application function to inject a custom game script into the mono virtual machine. In a virtual machine, the custom game script is used to control the interaction between the operating system and the game application, and the custom game script is executed to enable the operating system to interact with the game application. The invention realizes the interaction between the operating system and the game application, thereby enabling the operating system to obtain the game parameters in the game application and modify the game logic of the game application.

【技术实现步骤摘要】
操作系统与游戏应用交互的方法及装置
本专利技术涉及信息处理
,尤其涉及操作系统与游戏应用交互的方法及装置。
技术介绍
游戏引擎是游戏应用的基础和核心组件,游戏引擎通常是指已编写好的可编辑电脑游戏系统或者交互式实时图像应用程序的核心组件,游戏应用的运行离不开游戏引擎,游戏引擎能够进行游戏中的物理演算、碰撞运算、图像渲染、输入控制和音视频输出等功能。在现有技术中,安装有游戏应用的操作系统与游戏应用之间无法进行交互。
技术实现思路
鉴于上述问题,提出了本专利技术以便提供一种克服上述问题或者至少部分地解决上述问题的操作系统与游戏应用交互的方法及装置。依据本专利技术的第一个方面,提供了一种操作系统与游戏应用交互的方法,应用于安装有所述游戏应用的所述操作系统中,所述方法包括:获取与所述游戏应用对应的游戏引擎中的mono虚拟机中的应用程序函数;调用所述应用程序函数将自定义游戏脚本注入到所述mono虚拟机中,其中,所述自定义游戏脚本用于控制所述操作系统与所述游戏应用之间的交互;执行所述自定义游戏脚本使所述操作系统与所述游戏应用进行交互。优选的,在所述获取与所述游戏应用对应的游戏引擎中的mono虚拟机中的应用程序函数之前,所述方法还包括:将libinject.so文件加载到所述游戏应用的游戏进程中;其中,所述获取与所述游戏应用对应的游戏引擎中的mono虚拟机中的应用程序函数,包括:利用所述libinject.so文件解析所述游戏应用的可执行文件,从所述可执行文件中获取与所述游戏应用对应的游戏引擎中的mono虚拟机中的应用程序函数。优选的,所述获取与所述游戏应用对应的游戏引擎中的mono虚拟机中的应用程序函数,包括:获取所述游戏引擎中的libmono.so文件;从所述libmono.so文件中获取所述应用程序函数。优选的,所述应用程序函数包括:mono_assembly_get_image;mono_class_from_name;mono_method_desc_search_in_class;mono_runtime_invoke;mono_image_open_from_data;mono_assembly_load_from_full;mono_image_open_from_data_with_name。优选的,所述执行所述自定义游戏脚本使所述操作系统与所述游戏应用进行交互,包括:执行所述自定义游戏脚本,控制所述操作系统获取所述游戏应用中的游戏信息,和/或,控制所述操作系统修改所述游戏应用的游戏逻辑。优选的,所述自定义游戏脚本的编译语言为C#。优选的,所述操作系统为安卓系统,所述游戏引擎为Unity3D游戏引擎。依据本专利技术的第二个方面,提供了一种操作系统与游戏应用交互的装置,应用于安装有所述游戏应用的所述操作系统中,所述装置包括:获取模块,用于获取与所述游戏应用对应的游戏引擎中的mono虚拟机中的应用程序函数;调用模块,用于调用所述应用程序函数将自定义游戏脚本注入到所述mono虚拟机中,其中,所述自定义游戏脚本用于控制所述操作系统与所述游戏应用之间的交互;执行模块,用于执行所述自定义游戏脚本使所述操作系统与所述游戏应用进行交互。优选的,所述装置还包括:加载模块,用于将libinject.so文件加载到所述游戏应用的游戏进程中;其中,所述获取模块,具体用于:利用所述libinject.so文件解析所述游戏应用的可执行文件,从所述可执行文件中获取与所述游戏应用对应的游戏引擎中的mono虚拟机中的应用程序函数。优选的,所述获取模块,包括:第一获取单元,用于获取所述游戏引擎中的libmono.so文件;第二获取单元,用于从所述libmono.so文件中获取所述应用程序函数。优选的,所述应用程序函数包括:mono_assembly_get_image;mono_class_from_name;mono_method_desc_search_in_class;mono_runtime_invoke;mono_image_open_from_data;mono_assembly_load_from_full;mono_image_open_from_data_with_name。优选的,所述执行模块,具体用于:执行所述自定义游戏脚本,控制所述操作系统获取所述游戏应用中的游戏信息,和/或,控制所述操作系统修改所述游戏应用的游戏逻辑。优选的,所述自定义游戏脚本的编译语言为C#。优选的,所述操作系统为安卓系统,所述游戏引擎为Unity3D游戏引擎。依据本专利技术的第三个方面,提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现以下步骤:获取与所述游戏应用对应的游戏引擎中的mono虚拟机中的应用程序函数;调用所述应用程序函数将自定义游戏脚本注入到所述mono虚拟机中,其中,所述自定义游戏脚本用于控制所述操作系统与所述游戏应用之间的交互;执行所述自定义游戏脚本使所述操作系统与所述游戏应用进行交互。依据本专利技术的第四个方面,提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现以下步骤:获取与所述游戏应用对应的游戏引擎中的mono虚拟机中的应用程序函数;调用所述应用程序函数将自定义游戏脚本注入到所述mono虚拟机中,其中,所述自定义游戏脚本用于控制所述操作系统与所述游戏应用之间的交互;执行所述自定义游戏脚本使所述操作系统与所述游戏应用进行交互。根据本专利技术的操作系统与游戏应用交互的方法及装置,通过先获取与游戏应用对应的游戏引擎中的mono虚拟机中的应用程序函数,再利用该应用程序函数将自定义的用于控制操作系统与游戏应用之间交互的游戏脚本注入到mono虚拟机中,最后执行该自定义游戏脚本,从而实现了操作系统与游戏应用之间的交互,进而,使得操作系统能够获得游戏应用中的游戏参数,以及修改游戏应用的游戏逻辑。上述说明仅是本专利技术技术方案的概述,为了能够更清楚了解本专利技术的技术手段,而可依照说明书的内容予以实施,并且为了让本专利技术的上述和其它目的、特征和优点能够更明显易懂,以下特举本专利技术的具体实施方式。附图说明通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本专利技术的限制。而且在整个附图中,用相同的参考图形表示相同的部件。在附图中:图1示出了本专利技术实施例中操作系统与游戏应用交互的方法的流程图;图2示出了本专利技术实施例中操作系统与游戏应用交互的装置的结构图;图3示出了本专利技术实施例中计算机设备的结构图。具体实施方式下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。本专利技术实施例提供一种操作系统与游戏应用交互的方法,应用于电子设备中,该电子设备可以手机、平板电脑或计算机等,该电子设备中的操作系统可以为安卓系统,在该电子设备中安装有游戏应用,游戏应用安装于操作系统中,本专利技术实施例中的操作系统与本文档来自技高网...

【技术保护点】
1.一种操作系统与游戏应用交互的方法,其特征在于,应用于安装有所述游戏应用的所述操作系统中,所述方法包括:获取与所述游戏应用对应的游戏引擎中的mono虚拟机中的应用程序函数;调用所述应用程序函数将自定义游戏脚本注入到所述mono虚拟机中,其中,所述自定义游戏脚本用于控制所述操作系统与所述游戏应用之间的交互;执行所述自定义游戏脚本使所述操作系统与所述游戏应用进行交互。

【技术特征摘要】
1.一种操作系统与游戏应用交互的方法,其特征在于,应用于安装有所述游戏应用的所述操作系统中,所述方法包括:获取与所述游戏应用对应的游戏引擎中的mono虚拟机中的应用程序函数;调用所述应用程序函数将自定义游戏脚本注入到所述mono虚拟机中,其中,所述自定义游戏脚本用于控制所述操作系统与所述游戏应用之间的交互;执行所述自定义游戏脚本使所述操作系统与所述游戏应用进行交互。2.如权利要求1所述的操作系统与游戏应用交互的方法,其特征在于,在所述获取与所述游戏应用对应的游戏引擎中的mono虚拟机中的应用程序函数之前,所述方法还包括:将libinject.so文件加载到所述游戏应用的游戏进程中;其中,所述获取与所述游戏应用对应的游戏引擎中的mono虚拟机中的应用程序函数,包括:利用所述libinject.so文件解析所述游戏应用的可执行文件,从所述可执行文件中获取与所述游戏应用对应的游戏引擎中的mono虚拟机中的应用程序函数。3.如权利要求1所述的操作系统与游戏应用交互的方法,其特征在于,所述获取与所述游戏应用对应的游戏引擎中的mono虚拟机中的应用程序函数,包括:获取所述游戏引擎中的libmono.so文件;从所述libmono.so文件中获取所述应用程序函数。4.如权利要求1-3中任一项所述的操作系统与游戏应用交互的方法,其特征在于,所述应用程序函数包括:mono_assembly_get_image;mono_class_from_name;mono_method_desc_search_in_class;mono_runtime_invoke;mono_image_open_from_data;mono_assembly_load_from_full;mono_image_open_from_data_with_name。5.如权利要求1所述的操作系统与游戏应用交互的方法,其...

【专利技术属性】
技术研发人员:卿钢刘洪凯
申请(专利权)人:北京奇虎科技有限公司
类型:发明
国别省市:北京,11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1