游戏引擎能做到一次开发,多平台发布, 比如 android, iOS, H5, 微信小游戏,facebook等。

这些我们叫做跨平台架构,瞬间感觉很NB和高大上。

今天我来给大家分析分析,我们的游戏引擎是怎么做到跨平台的。

游戏引擎的架构一般会分为3个层次:

(1)平台抽象层:

a: 定义几个统一的接口,来接入平台的消息, 比如 mouse, touch, keyboard 等;

b: 每个平台会有一个runtime的环境,调用每个平台的API,来将事件和消息接入到统一的接口里面;

c:  使用opengl, 等跨平台图行库,来绘制游戏画面;

d:  做好封装,框架能调用原生态的函数或接口;

(2) 框架抽象层:

有了平台抽象层,对于平台的API,都是上面定义的统一的几个入口, 事件入口等, 基于这些入口,再来开发游戏场景的框架层,使用游戏引擎特有的管理模式,做好几大模块和API和接口,游戏引擎的常用的模块, 比如:网络模块,声音模块,渲染模块,事件模块,场景管理模块等。那么业务层开发游戏就直接使用框架层抽象出来的API接口就可以了,不用关心具体系统的差异。

(3) 业务逻辑层:

有了框架抽象层,我们就可以调用框架的API接口, 来开发我们的应用。

游戏引擎的 打包发布

每个平台都会有自己的开发工具,使用开发工具,把平台抽象层 + 框架抽象层 + 业务逻辑层 打包发布成对应平台的应用程序。所以使用游戏引擎打包发布的时候, 发布android要用android的开发工具,发布苹果,要用苹果的开发工具… …

游戏引擎这么NB,能否做跨平台的普通APP?最好不要这么做。

(1)游戏引擎对普通APP UI操作控件等支持的并不好

(2) 游戏引擎基于帧频驱动,所以会比普通APP基于事件驱动要耗电;

(3) 游戏引擎,每次全部重新绘制,APP是部分区域绘制;

最后配上一个小图:

游戏引擎怎么做到跨平台部署的相关推荐

  1. 游戏引擎怎么做到跨平台部署

    游戏引擎能做到一次开发,多平台发布, 比如 android, iOS, H5, 微信小游戏,facebook等. 这些我们叫做跨平台架构,瞬间感觉很NB和高大上. 今天我来给大家分析分析,我们的游戏引 ...

  2. 游戏引擎如何做到跨平台部署的

    关键词:游戏引擎 游戏引擎能做到一次开发,多平台发布, 比如 android, iOS, H5, 微信小游戏,facebook等. 这些我们叫做跨平台架构,瞬间感觉很NB和高大上. 今天我来给大家分析 ...

  3. Defold 游戏引擎

    Defold 是一个以 Lua 为脚本语言的2D游戏引擎, 支持跨平台(PC/Mac/iOS/Android/HTML5) GitHub:https://github.com/defold 官方网站: ...

  4. xnawindowsphCocos2d-x for XNA游戏引擎全面支持WP7

    近日,开源社区cocos2d-x.org针对微软移动操作系统WindowsPhone7平台发布了一款新的游戏引擎,并正式命名为cocos2d-xforXNA.从此,开发者无需学习XNA绘图接口就可采用 ...

  5. 游戏引擎如何设计与架构

    以前做过游戏引擎,也看过几个商业引擎的源码如Torque等,还有用过一些第三方的引擎来开发游戏,如Unity, Cocos, Laya等,今天来说一说一款游戏引擎应该如何架构和设计,我做了一张图,如下 ...

  6. 跨平台次世代游戏引擎Unity 3D

    1.Unity简介 Unity是一款标准的商业游戏引擎,而商业引擎的主要特点有收费.封闭源码和功能强大. 关于收费情况,Unity的使用费用非常昂贵,最便宜的普通版许可证也需要400美元,加强版本为1 ...

  7. 2018html游戏引擎,跨平台三维游戏引擎Unity Pro 2018.1 Win x64

    跨平台三维游戏引擎Unity Pro 2018.1 Win x64 Unity是由Unity Technologies开发的跨平台游戏引擎,主要用于开发三维和二维视频游戏和计算机.控制台和移动设备的模 ...

  8. Unity3D游戏开发初探—1.跨平台的游戏引擎让.NET程序员新生

    一.Unity3D平台简介 Unity是由Unity Technologies开发的一个让轻松创建诸如三维视频游戏.建筑可视化.实时三维动画等类型互动内容的多平台的综合型游戏开发工具,是一个全面整合的 ...

  9. webgl 基础渲染demo_游戏引擎养成《二》 引入跨平台渲染库

    # 引擎从哪里开始? 从图形渲染部分开始是最直观的,它也最能引起大家兴致的部分,毕竟程序员有一条路就是TA方向.所以我们从开始就着手图形渲染引擎. 为了实现跨平台也为了省心,我们引入glfw库. # ...

最新文章

  1. 一次网站性能排查实录
  2. 重识设计模式-建造者模式(Builder Pattern)
  3. [转] 新入社員の自己紹介
  4. BASIC-1 闰年判断
  5. mysql归档日志满了_MySQL核心知识学习之路(1)
  6. [攻防世界 pwn]——pwn-100
  7. 退出窗口[置顶] 退出Activity的方法
  8. Indy中判断邮件来源
  9. python粘性拓展_如何将tkinter小部件置于粘性框架中
  10. HTTP请求上下文之终结:HttpContext类
  11. python 之遍历目录树(可匹配输出特定后缀的文件)
  12. 波段顶底 tdx 副图指标
  13. 写失败数据写入成功_马克·吐温写小说有多成功,做生意就有多失败,创业亏的就剩烟囱...
  14. C/C++[codeup 1943](大数)进制转换
  15. mac系统下用wineskin安装plsql developer及数据乱码解决办法
  16. 深入理解Plasma(四)Plasma Cash
  17. 国人劝酒经典用语大全
  18. vim的下载及配置安装
  19. iOS 9:四、设置信任
  20. 中国液冷数据中心市场发展研究

热门文章

  1. 你的背景调查值多少钱?
  2. eslint原理入门
  3. 共享经济迎来盈利时代
  4. 【IDEA】红绿色盲模式的关闭
  5. linux命令中service ntpd restart,Linux 时间同步 ntpd
  6. 我是如何从学渣成为程序员的
  7. matlab实现gray,RGB转Gray算法的Matlab实现
  8. 2020修改版设计模式之代理模式(实现自己的数据库连接池)
  9. 网站优化定位思路以及用户需求数据分析
  10. mysql w3scoll_window属性:onscroll