Cocos Creator3.8.7开源引擎解析(四)

Creator的启动流程

以微信小游戏为例,其他平台类似(引擎会根据game.ejs模版生成对应的文件名)

一、生成的game.js文件,微信小游戏启动文件

  1. 补齐一些微信小游戏不支持的js接口与代码
  2. 增加System的一些接口能力,比如System.warmup函数
  3. 真正调用warmup,用来注册一些import的hook代码,当import不同的代码文件路径时,可以走不同的import处理

具体的可以参考,包括模版,以及一些源码

二、启动流程后续

  1. 首屏加载
  2. application.js的加载,这个是由模版application.ejs不同平台生成不同的代码文件
  3. 启动appliation.js,注册一些函数
  4. cc引擎的注册、初始化、启动

三、Game类的初始化与启动

对应到引擎的源码:

init中有各中事件派发、各种系统初始化逻辑

其中比较重要的是pacer的初始化与事件绑定:

pacer的tick绑定到game的updateCallback上,这里就是每一帧驱动的起点。

具体平台有自己的pacer的实现:

主要分为小游戏、原生平台、web平台的实现,主要区别就是tick的实现,有的依赖requestAnimationFrame实现,有的依赖setTimeout做延时实现。

至此整个游戏的初始化、启动、每帧tick的逻辑已经跑通

后续将分析tick的整个流程

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值