CocosCreator 源码,build后的index.html分析

936 阅读1分钟

立即执行代码,加载引擎和物理模块部分。

<script type="text/javascript">

下面这个function 会自动执行

(function () {

// open web debugger console

构建的时候选择了vconsole 的时候,会有右下角的输出按钮,点开可以看到vconsole的log日志

图片

假如存在VConsole定义,则创建一个全局vConsole

if (typeof VConsole !== 'undefined') {

window.vConsole = new VConsole();

}

\

var debug = window._CCSettings.debug;

setting.js部分查看几个定义\

图片

window._CCSettings = {

platform: "web-mobile",平台

groupList: ["default"],分组

collisionMatrix: [[true]],分组后的碰撞关系,哪个group和哪个group是可以碰撞到的

hasResourcesBundle: true, 内置bundle是否添加resources bundle,对应路径'assets/resources' 目录

hasStartSceneBundle: false, 首场景分包bundle\

remoteBundles: [], 远端bundle

subpackages: [],分包模块

launchScene: "db://assets/Scene/test.fire", 启动的场景fire

orientation: "portrait",屏幕方向

jsList: [],项目中设置为插件的部分

  • 插件脚本会直接把源文件按照原来的目录结构拷到构建后文件夹的 src 目录下,所以插件脚本是不支持任何需要编译的脚本形式的比如 ts 或者是使用 es6 写法的 js。插件脚本的资源信息则会写进 settings 里的 jsList 数组内。

图片

};

\

\

\

var splash = document.getElementById('splash'); splash.style.display = 'block'; 获取一个dom元素,设置为块级 \

function loadScript (moduleName, cb) { function scriptLoaded () { document.body.removeChild(domScript); 加载完毕后,会放到window上,内存中已有,删除对应的dom元素,不影响使用引擎脚本使用 domScript.removeEventListener('load', scriptLoaded, false); cb && cb(); }; var domScript = document.createElement('script'); domScript.async = true; domScript.src = moduleName;这里可能是引擎和物理引擎部分的src domScript.addEventListener('load', scriptLoaded, false); document.body.appendChild(domScript); } \

loadScript(debug ? 'cocos2d-js.js' : 'cocos2d-js-min.js', function () { if (CC_PHYSICS_BUILTIN || CC_PHYSICS_CANNON) { loadScript(debug ? 'physics.js' : 'physics-min.js', window.boot); } else { window.boot(); } }); })(); 欢迎互相学习。

qrcode_for_gh_e5e6021b4e3d_344.jpg