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

游戏引擎能做到一次开发,多平台发布, 比如 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是部分区域绘制;

 

最后配上一个小图:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值