Cocos Creator如何跨平台

强大的跨平台Cocos Creator

使用过cocos creator的同学肯定知道,其是非常强大的跨平台的开源引擎,但是其到底是怎么做到跨平台,支持IOS、Android、Wed等多平台呢?今天我们就将通过剖析cocos creator的构成,了解其各部分对应的功能,从而更好的理解其是怎么做到跨平台的。
本文是基于2.4.x版本讨论,对应3.x版本,设计思路没有改,但是对应组成的命名有改动。

creator的组成

js引擎

直接从creator开始接触cocos的同学,可能会认为其是强大的H5游戏引擎,用的TS(JS)语言,使用chrome于web环境进行绝大部分的开发、调试。
这个认知是对的,我们称这部分的为js引擎,其能够独自完成web的开发,至于js引擎内部的组成,今天这个就不再阐述,本篇文章,大家只要认知到这个维度即可。

cocos2dx引擎

早期接触过cocos的同学肯定对cocos2dx非常熟悉,那还是一个手游兴旺的年代,cocos更多的设计都是基于移动端(IOS、Android)平台,其核心底层代码都是基于c++实现,这部分代码因为移动端的兼容性、安全性、性能等各方面考虑,会被编译成对应的静态库,是不能够用脚本语言来实现的,为了适配移动端,这部分代码在creator中仍然需要保留,我们称这部分为cocos2d-x引擎。

Adapter

出于各种原因,cocos后面把更多的重心放在web端,希望我们的游戏开发者,用TS这个脚本语言,更专注于游戏逻辑本身的开发,而不是各种平台都要写大量的适配逻辑。
出于这个设计,那creator引擎必须给使用者提供统一的基于Web环境的API,其内部根据实际运行的平台,在引擎层,对API进行适配,而这个适配模块,我们称之为Adapter。
Adapter又细分为2块,一个是jsb-engine.js,负责js引擎相关的适配,另一个是jsb-builtin.js,负责对cocos2d-x引擎的适配。
以上的总结是基于个人理解,主要是把cocos2dx当成一个很纯粹的原生平台的适配模块,如果要细说,这个理解肯定是非常粗糙的,如果有兴趣的小伙伴,可以自行细化,这里也转述一下官方的描述:
在这里插入图片描述

解剖Android-apk

我们用creator-2.4.x版本,生成一个android空项目,对齐apk进行解压,观察其组成
在这里插入图片描述
一个10.6M大小的apk,会发现其重要的组成部分如上图红框所示,通过上文的描述,大家应该也能知道对对应的功能勒,这里简略一下对应关系:

文件名组成模块
libcocos2djs.sococos2dx引擎
cocos2d-jsb.jsjs引擎
jsb-builtin.jsAdapter - cocos2dx适配层
jsb-engine.jsAdapter - js引擎适配层

参考资料

引擎定制工作流程

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值