关键词:游戏引擎

游戏引擎能做到一次开发,多平台发布, 比如 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. js左侧三级菜单导航代码
  2. 【译】Android系统简介—— Activity
  3. GPTEE中的Storage API的使用
  4. php大号字体代码,支持中文字母数字、自定义字体php验证码代码
  5. 神经网络基础_反向传播_证明
  6. [原]排错实战——使用process explorer替换任务管理器
  7. CC1310在868MHz的电路设计
  8. DBGridEh导出Excel等格式文件
  9. 配置csrf_django 入门第一课 配置文件
  10. 从零开始刷Leetcode——数组(448.485.509)
  11. 安装pyOpenGL/python-opengl
  12. 安装SQL Server2012时出现启用Windows功能NetFx3时出错”的提示,导致无法安装成功
  13. 6.27java斗地主
  14. 阿里云移动推送的接入和踩坑
  15. Golang——time.Ticker定时器
  16. OpenCV笔记02:用cv2.imread函数读取图片
  17. Mac开发-公证流程记录Notarization-附带脚本
  18. 系统认证风险预测方案总结
  19. 页面底部copyright部分制作过程中遇到的问题,解决以及总结
  20. vue检测是不是360浏览器兼容模式_vue开发之不同浏览器的类型判断

热门文章

  1. 《禅门锻炼说》十三篇自序
  2. Linux基础知识--- 1、centos文件夹介绍
  3. java 实现多线程买票
  4. 账龄分析Vintage
  5. python语法简洁清晰特色之一是强制用什么作为语句缩进_python语言特色
  6. 1500ml等于多少l_正常人的血糖标准是多少?如何判断自己患上了糖尿病
  7. GitHub 暗黑模式终于来了!
  8. 求质数(素数)的函数
  9. zip压缩包上传linux文件名乱码
  10. 经典网络ResNet介绍