CN102541567A - 一种2d手机游戏引擎及兼容手机操作系统的方法 - Google Patents
一种2d手机游戏引擎及兼容手机操作系统的方法 Download PDFInfo
- Publication number
- CN102541567A CN102541567A CN2012100015351A CN201210001535A CN102541567A CN 102541567 A CN102541567 A CN 102541567A CN 2012100015351 A CN2012100015351 A CN 2012100015351A CN 201210001535 A CN201210001535 A CN 201210001535A CN 102541567 A CN102541567 A CN 102541567A
- Authority
- CN
- China
- Prior art keywords
- application
- api
- operating system
- api function
- external application
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Landscapes
- Telephone Function (AREA)
- Mobile Radio Communication Systems (AREA)
Abstract
本发明公开了一种2D手机游戏引擎及兼容手机操作系统的方法,所述游戏引擎包括SDK层和软件抽象层;软件抽象层包括应用程序加载模块、API函数管理模块和API注册器;API函数管理模块为操作系统向外部应用程序发布API函数,并将发布的API函数存储到API注册器里;应用程序加载模块将外部应用程序加载在操作系统的内存空间运行,并为该应用程序分配内存空间;API注册器在外部应用程序请求相应的API服务时将存储的相应API函数发送到外部应用程序;SDK层生成外部应用程序,根据外部应用程序接收的API函数调用操作系统里的驱动服务。本发明能解决平台移植过于繁重的问题,以实现跨平台,简化平台移植工作。
Description
[技术领域]
本发明涉及游戏开发技术领域,尤其涉及一种2D手机游戏引擎及兼容手机操作系统的方法。
[背景技术]
手机终端主要分为非智能机与智能机两大类,非智能手机仍然占到了移动市场份额的70%,在智能机操作系统中Android与IOS大约占了份额的70%。
基于多种平台、多种系统的并存,各个平台的开发方式和开发语言也不尽相同。在非智能机方面,例如在MTK平台,有很多软件公司是开发中间件,类似于Iphone的软件商店,然后授权并提供SDK开发工具包给开发者开发应用软件。而在智能机方面,开发IOS需要使用Objective-C语言,而在Android平台开发则需要使用到Java语言,但一般在这些平台开发游戏软件会选择专业的引擎,例如使用商用非免费的Unity3D引擎或者使用开源免费的cocos2d引擎。就以上讲到的两款游戏开发引擎为例,使用到的开发语言就有好几种,Unity3D支持C#和JS等,而cocos2d又有几个分支,分别支持python、Objective-C、C++等开发语言。
随着3G时代的到来,手机游戏市场面临着巨大的发展机遇。然而手机游戏开发中,由于需要支持的手机平台及系统甚至分辨率过多,导致平台移植工作过于复杂,平台移植往往会占到整个手机游戏开发周期的近一半。
[发明内容]
本发明提供了一种2D手机游戏引擎及兼容手机操作系统的方法,其能解决手机游戏开发中的平台移植过于繁重的问题,以实现跨平台,简化平台移植工作。
本发明的技术方案是:
一种2D手机游戏引擎,包括SDK层和软件抽象层;
所述软件抽象层包括应用程序加载模块、API函数管理模块和API注册器;
API函数管理模块,用于为操作系统向外部应用程序发布API函数,并将发布的API函数存储到API注册器里;
应用程序加载模块,用于将外部应用程序加载在操作系统的内存空间运行,并为该应用程序分配内存空间;
API注册器,用于在外部应用程序请求相应的API服务时将存储的相应API函数发送到外部应用程序;
SDK层,用于生成外部应用程序,根据外部应用程序接收的API函数调用操作系统里的驱动服务或应用服务。
一种兼容手机操作系统的方法,包括步骤:
生成外部应用程序,为操作系统向外部应用程序发布API函数,并将发布的API函数存储下来;
将外部应用程序加载在操作系统的内存空间运行,并为该应用程序分配内存空间;
在外部应用程序请求相应的API服务时,将存储的相应API函数发送到外部应用程序;
根据外部应用程序接收的API函数调用操作系统里的驱动服务或应用服务。
本发明的2D手机游戏引擎,包括有SDK层和软件抽象层;软件抽象层能为操作系统向外部应用程序发布API函数,将外部应用程序加载在操作系统的内存空间运行,在外部应用程序请求相应的API服务时将存储的相应API函数发送到外部应用程序,并根据外部应用程序接收的API函数调用操作系统里的驱 动服务或应用服务。从而外部应用程序可以调用操作系统里的驱动服务或应用服务,使得应用程序和操作系统可以分开,操作系统可以兼容不同的应用程序,能解决手机游戏开发中的平台移植过于繁重两大问题,以实现跨平台,简化平台移植工作。
[附图说明]
图1是本发明的兼容手机操作系统的方法在一实施例中的流程图;
图2是本发明的2D手机游戏引擎在一实施例中的结构原理框图。
[具体实施方式]
下面结合附图对本发明的具体实施例做一详细的阐述。
本发明能将应用程序和操作系统分开,使得操作系统可以兼容不同的应用程序,从而解决手机游戏开发中的平台移植过于繁重的问题,以实现跨平台,简化平台移植工作。
如图2所示,本发明的2D手机游戏引擎,包括SDK层1和软件抽象层2;
所述软件抽象层2包括应用程序加载模块21、API函数管理模块23和API注册器22;
API函数管理模块23,用于为操作系统3向外部应用程序发布API函数,并将发布的API函数存储到API注册器22里;API函数相当于一个地址信息,根据该地址信息能够调用操作系统里的驱动服务或应用服务;
应用程序加载模块21,用于将外部应用程序加载在操作系统3的内存空间运行,并为该应用程序分配内存空间;
API注册器22,用于在外部应用程序请求相应的API服务时将存储的相应API函数发送到外部应用程序;
SDK层1,用于生成外部应用程序,根据外部应用程序接收的API函数调用 操作系统3里的驱动服务或应用服务。
SDK层为应用程序开发模版,可以生成不同的应用程序,比如处理图像、声音等方面的应用程序。
由此可见,本发明的游戏引擎可以为操作系统向外部应用程序发布API函数,将外部应用程序加载在操作系统的内存空间运行,在外部应用程序请求相应的API服务时将存储的相应API函数发送到外部应用程序,并根据外部应用程序接收的API函数调用操作系统里的驱动服务或应用服务。从而外部应用程序可以调用操作系统里的驱动服务或应用服务,使得应用程序和操作系统可以分开,操作系统可以兼容不同的应用程序,能解决手机游戏开发中的平台移植过于繁重的问题,以实现跨平台,简化平台移植工作。
另外,与上述的2D手机游戏引擎相对应,本发明还公开了一种兼容手机操作系统的方法,如图1,包括步骤:
S101、生成外部应用程序,为操作系统向外部应用程序发布API函数,并将发布的API函数存储下来;API函数相当于一个地址信息,根据该地址信息能够调用操作系统里的驱动服务或应用服务;
S102、将外部应用程序加载在操作系统的内存空间运行,并为该应用程序分配内存空间;
S103、在外部应用程序请求相应的API服务时,将存储的相应API函数发送到外部应用程序;
S104、根据外部应用程序接收的API函数调用操作系统里的驱动服务或应用服务。
由此可见,本发明的兼容手机操作系统的方法,外部应用程序可以调用操作系统里的驱动服务或应用服务,使得应用程序和操作系统可以分开,操作系 统可以兼容不同的应用程序,能解决手机游戏开发中的平台移植过于繁重的问题,以实现跨平台,简化平台移植工作。
以上所述的本发明实施方式,并不构成对本发明保护范围的限定。任何在本发明的精神和原则之内所作的修改、等同替换和改进等,均应包含在本发明的权利要求保护范围之内。
Claims (2)
1.一种2D手机游戏引擎,其特征在于:包括SDK层和软件抽象层;
所述软件抽象层包括应用程序加载模块、API函数管理模块和API注册器;
API函数管理模块,用于为操作系统向外部应用程序发布API函数,并将发布的API函数存储到API注册器里;
应用程序加载模块,用于将外部应用程序加载在操作系统的内存空间运行,并为该应用程序分配内存空间;
API注册器,用于在外部应用程序请求相应的API服务时将存储的相应API函数发送到外部应用程序;
SDK层,用于生成外部应用程序,根据外部应用程序接收的API函数调用操作系统里的驱动服务或应用服务。
2.一种兼容手机操作系统的方法,其特征在于,包括步骤:
生成外部应用程序,为操作系统向外部应用程序发布API函数,并将发布的API函数存储下来;
将外部应用程序加载在操作系统的内存空间运行,并为该应用程序分配内存空间;
在外部应用程序请求相应的API服务时,将存储的相应API函数发送到外部应用程序;
根据外部应用程序接收的API函数调用操作系统里的驱动服务或应用服务。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2012100015351A CN102541567A (zh) | 2012-01-05 | 2012-01-05 | 一种2d手机游戏引擎及兼容手机操作系统的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2012100015351A CN102541567A (zh) | 2012-01-05 | 2012-01-05 | 一种2d手机游戏引擎及兼容手机操作系统的方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN102541567A true CN102541567A (zh) | 2012-07-04 |
Family
ID=46348540
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2012100015351A Pending CN102541567A (zh) | 2012-01-05 | 2012-01-05 | 一种2d手机游戏引擎及兼容手机操作系统的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102541567A (zh) |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103559040A (zh) * | 2013-11-12 | 2014-02-05 | 厦门卓讯信息技术有限公司 | 一种基于sdk快速构建移动互联网应用模块的系统和方法 |
CN104090765A (zh) * | 2014-07-16 | 2014-10-08 | 福建天晴数码有限公司 | 一种手机游戏转网页游戏的方法及装置 |
CN105260186A (zh) * | 2015-10-19 | 2016-01-20 | 厦门骐俊物联科技股份有限公司 | 用于嵌入式系统的应用程序sdk的构建方法及装置 |
CN106371826A (zh) * | 2016-08-23 | 2017-02-01 | 百富计算机技术(深圳)有限公司 | 应用程序跨系统运行的方法和装置 |
CN106815882A (zh) * | 2015-12-01 | 2017-06-09 | 北京触控科技有限公司 | 一种可无限扩展动画属性的方法 |
CN106815002A (zh) * | 2015-12-01 | 2017-06-09 | 北京触控科技有限公司 | 一种跨平台游戏开发工具的实现方法 |
CN110851240A (zh) * | 2019-11-18 | 2020-02-28 | 北京小米移动软件有限公司 | 功能调用方法、装置及存储介质 |
US11418939B2 (en) * | 2017-10-25 | 2022-08-16 | Indie Health LLC | Systems and methods for automatic pairing of devices |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060236327A1 (en) * | 2005-04-14 | 2006-10-19 | Credence Systems Corporation | GUI-based API for test systems |
CN101641690A (zh) * | 2007-01-22 | 2010-02-03 | E3网络股份有限公司 | 用于生成跨平台程序的方法及其中间件平台引擎 |
CN101814020A (zh) * | 2010-04-15 | 2010-08-25 | 长沙理工大学 | 一种基于嵌入式的程序快速执行方法及系统 |
CN101908119A (zh) * | 2010-08-12 | 2010-12-08 | 浙江中控软件技术有限公司 | 一种动态链接库dll文件的处理方法和装置 |
CN102200909A (zh) * | 2010-07-30 | 2011-09-28 | 深圳市融创天下科技发展有限公司 | 一种移动终端统一界面方法及系统 |
-
2012
- 2012-01-05 CN CN2012100015351A patent/CN102541567A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060236327A1 (en) * | 2005-04-14 | 2006-10-19 | Credence Systems Corporation | GUI-based API for test systems |
CN101641690A (zh) * | 2007-01-22 | 2010-02-03 | E3网络股份有限公司 | 用于生成跨平台程序的方法及其中间件平台引擎 |
CN101814020A (zh) * | 2010-04-15 | 2010-08-25 | 长沙理工大学 | 一种基于嵌入式的程序快速执行方法及系统 |
CN102200909A (zh) * | 2010-07-30 | 2011-09-28 | 深圳市融创天下科技发展有限公司 | 一种移动终端统一界面方法及系统 |
CN101908119A (zh) * | 2010-08-12 | 2010-12-08 | 浙江中控软件技术有限公司 | 一种动态链接库dll文件的处理方法和装置 |
Non-Patent Citations (3)
Title |
---|
孔月萍: "软件移植方法与操作系统仿真", 《西安建筑科技大学学报(自然科学版)》 * |
景建岗等: "不同协议栈间的手机软件移植", 《计算机工程》 * |
钟家民等: "API函数在VB软件开发中的应用", 《安阳大学学报》 * |
Cited By (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103559040A (zh) * | 2013-11-12 | 2014-02-05 | 厦门卓讯信息技术有限公司 | 一种基于sdk快速构建移动互联网应用模块的系统和方法 |
CN103559040B (zh) * | 2013-11-12 | 2016-05-18 | 厦门卓讯信息技术有限公司 | 一种基于sdk快速构建移动互联网应用模块的系统和方法 |
CN104090765A (zh) * | 2014-07-16 | 2014-10-08 | 福建天晴数码有限公司 | 一种手机游戏转网页游戏的方法及装置 |
CN105260186A (zh) * | 2015-10-19 | 2016-01-20 | 厦门骐俊物联科技股份有限公司 | 用于嵌入式系统的应用程序sdk的构建方法及装置 |
CN106815002A (zh) * | 2015-12-01 | 2017-06-09 | 北京触控科技有限公司 | 一种跨平台游戏开发工具的实现方法 |
CN106815882A (zh) * | 2015-12-01 | 2017-06-09 | 北京触控科技有限公司 | 一种可无限扩展动画属性的方法 |
CN106815882B (zh) * | 2015-12-01 | 2020-12-29 | 厦门雅基软件有限公司 | 一种可无限扩展动画属性的方法 |
CN106371826A (zh) * | 2016-08-23 | 2017-02-01 | 百富计算机技术(深圳)有限公司 | 应用程序跨系统运行的方法和装置 |
CN106371826B (zh) * | 2016-08-23 | 2019-11-29 | 百富计算机技术(深圳)有限公司 | 应用程序跨系统运行的方法和装置 |
US11418939B2 (en) * | 2017-10-25 | 2022-08-16 | Indie Health LLC | Systems and methods for automatic pairing of devices |
US11785438B2 (en) | 2017-10-25 | 2023-10-10 | Indie Health LLC | Systems and methods for automatic pairing of devices |
CN110851240A (zh) * | 2019-11-18 | 2020-02-28 | 北京小米移动软件有限公司 | 功能调用方法、装置及存储介质 |
CN110851240B (zh) * | 2019-11-18 | 2022-04-29 | 北京小米移动软件有限公司 | 功能调用方法、装置及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102541567A (zh) | 一种2d手机游戏引擎及兼容手机操作系统的方法 | |
CN105867956A (zh) | 在宿主应用页面中展现插件视图元素的方法及装置 | |
CN105183551A (zh) | 基于Linux容器技术的多Android系统之间切换方法 | |
EP1847966A3 (en) | OpenGL to openGL/ES translator and openGL/ES simulator | |
CN101859279A (zh) | 一种内存分配、释放方法及装置 | |
CN102866947A (zh) | 一种Linux内核内存泄漏的检测方法 | |
CN102023867A (zh) | 一种终端二次开发装置及二次开发平台构建方法 | |
CN105955748A (zh) | 应用程序的返回场景处理方法及装置 | |
CN104881259A (zh) | 一种数据处理方法和装置以及存储设备 | |
CN102404435A (zh) | 一种通信终端通话界面的显示方法和通信终端 | |
WO2013066357A1 (en) | Nonvolatile memory wear management | |
CN102831227A (zh) | 一种浏览社交应用的信息流的方法及系统 | |
CN203298780U (zh) | 一种基于SD复合设备Wifi通信的导航系统 | |
CN104063284A (zh) | 运行应用程序的方法和装置 | |
CN101493775A (zh) | 嵌入式系统的动态加载系统及其加载方法 | |
CN106919391A (zh) | 面向智能手机的可定制操作系统组件的嵌入式系统 | |
US9864638B2 (en) | Techniques for accessing a graphical processing unit memory by an application | |
SG128570A1 (en) | System and method for automatically optimizing available virtual memory | |
CN104267916A (zh) | 一种信息显示方法、系统和电子设备 | |
CN102238012B (zh) | 计费方法和系统 | |
CN102170714A (zh) | 一种多制式驱动方法、系统和终端 | |
CN102520879B (zh) | 基于优先级的文件信息存储方法、装置及系统 | |
CN103944806A (zh) | 一种基于微信平台的数据传输方法和系统 | |
CN102663038A (zh) | 一种提供地理信息系统接口服务的方法和装置 | |
CN101706756A (zh) | 一种元数据的缓存方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C12 | Rejection of a patent application after its publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20120704 |