123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200 |
- window.boot = function () {
- var settings = window._CCSettings;
- window._CCSettings = undefined;
- if ( !settings.debug ) {
- var uuids = settings.uuids;
- var rawAssets = settings.rawAssets;
- var assetTypes = settings.assetTypes;
- var realRawAssets = settings.rawAssets = {};
- for (var mount in rawAssets) {
- var entries = rawAssets[mount];
- var realEntries = realRawAssets[mount] = {};
- for (var id in entries) {
- var entry = entries[id];
- var type = entry[1];
- // retrieve minified raw asset
- if (typeof type === 'number') {
- entry[1] = assetTypes[type];
- }
- // retrieve uuid
- realEntries[uuids[id] || id] = entry;
- }
- }
- var scenes = settings.scenes;
- for (var i = 0; i < scenes.length; ++i) {
- var scene = scenes[i];
- if (typeof scene.uuid === 'number') {
- scene.uuid = uuids[scene.uuid];
- }
- }
- var packedAssets = settings.packedAssets;
- for (var packId in packedAssets) {
- var packedIds = packedAssets[packId];
- for (var j = 0; j < packedIds.length; ++j) {
- if (typeof packedIds[j] === 'number') {
- packedIds[j] = uuids[packedIds[j]];
- }
- }
- }
- var subpackages = settings.subpackages;
- for (var subId in subpackages) {
- var uuidArray = subpackages[subId].uuids;
- if (uuidArray) {
- for (var k = 0, l = uuidArray.length; k < l; k++) {
- if (typeof uuidArray[k] === 'number') {
- uuidArray[k] = uuids[uuidArray[k]];
- }
- }
- }
- }
- }
-
- function setLoadingDisplay () {
- // Loading splash scene
- var splash = document.getElementById('splash');
- var progressBar = splash.querySelector('.progressbg_bar');
- progressBar.style.width ="0px";
- var progress_txt = splash.querySelector('.progress').querySelector('.progress_txt');
- // document.getElementById("p1").innerHTML="New text!";
- cc.loader.onProgress = function (completedCount, totalCount, item) {
- if (progressBar) {
- var percent = completedCount / totalCount;
- var wid = (percent*165).toFixed(0);
- progressBar.style.width = (wid)+"px";
- if(progress_txt){
- progress_txt.innerHTML= (percent *100).toFixed(0) + "%"
- }
- }
- };
- splash.style.display = 'flex';
- progressBar.style.width = '0%';
- cc.director.once(cc.Director.EVENT_AFTER_SCENE_LAUNCH, function () {
- splash.style.display = 'none';
- });
- }
- var onStart = function () {
- cc.loader.downloader._subpackages = settings.subpackages;
- cc.view.enableRetina(true);
- cc.view.resizeWithBrowserSize(true);
- if (cc.sys.isBrowser) {
- setLoadingDisplay();
- }
- if (cc.sys.isMobile) {
- if (settings.orientation === 'landscape') {
- cc.view.setOrientation(cc.macro.ORIENTATION_LANDSCAPE);
- }
- else if (settings.orientation === 'portrait') {
- cc.view.setOrientation(cc.macro.ORIENTATION_PORTRAIT);
- }
- cc.view.enableAutoFullScreen([
- cc.sys.BROWSER_TYPE_BAIDU,
- cc.sys.BROWSER_TYPE_WECHAT,
- cc.sys.BROWSER_TYPE_MOBILE_QQ,
- cc.sys.BROWSER_TYPE_MIUI,
- ].indexOf(cc.sys.browserType) < 0);
- }
- // Limit downloading max concurrent task to 2,
- // more tasks simultaneously may cause performance draw back on some android system / browsers.
- // You can adjust the number based on your own test result, you have to set it before any loading process to take effect.
- if (cc.sys.isBrowser && cc.sys.os === cc.sys.OS_ANDROID) {
- cc.macro.DOWNLOAD_MAX_CONCURRENT = 2;
- }
- function loadScene(launchScene) {
- cc.director.loadScene(launchScene,
- function (err) {
- if (!err) {
- if (cc.sys.isBrowser) {
- // show canvas
- var canvas = document.getElementById('GameCanvas');
- canvas.style.visibility = '';
- var div = document.getElementById('GameDiv');
- if (div) {
- div.style.backgroundImage = '';
- }
- }
- cc.loader.onProgress = null;
- console.log('Success to load scene: ' + launchScene);
- }
- else if (CC_BUILD) {
- setTimeout(function () {
- loadScene(launchScene);
- }, 1000);
- }
- }
- );
- }
- var launchScene = settings.launchScene;
- // load scene
- loadScene(launchScene);
- };
- // jsList
- var jsList = settings.jsList;
- var bundledScript = settings.debug ? 'src/project.dev.js' : 'src/project.js';
- if (jsList) {
- jsList = jsList.map(function (x) {
- return 'src/' + x;
- });
- jsList.push(bundledScript);
- }
- else {
- jsList = [bundledScript];
- }
- var option = {
- id: 'GameCanvas',
- scenes: settings.scenes,
- debugMode: settings.debug ? cc.debug.DebugMode.INFO : cc.debug.DebugMode.ERROR,
- showFPS: settings.debug,
- frameRate: 60,
- jsList: jsList,
- groupList: settings.groupList,
- collisionMatrix: settings.collisionMatrix,
- };
- // init assets
- cc.AssetLibrary.init({
- libraryPath: 'res/import',
- rawAssetsBase: 'res/raw-',
- rawAssets: settings.rawAssets,
- packedAssets: settings.packedAssets,
- md5AssetsMap: settings.md5AssetsMap,
- subpackages: settings.subpackages
- });
- cc.director.setClearColor(new cc.Color(0,0,0, 0)); //背景色
- cc.macro.ENABLE_TRANSPARENT_CANVAS = true;//修改状态属性
- cc.game.run(option, onStart);
- };
- if (window.jsb) {
- var isRuntime = (typeof loadRuntime === 'function');
- if (isRuntime) {
- require('src/settings.js');
- require('src/cocos2d-runtime.js');
- require('jsb-adapter/engine/index.js');
- }
- else {
- require('src/settings.js');
- require('src/cocos2d-jsb.js');
- require('jsb-adapter/jsb-engine.js');
- }
- cc.macro.CLEANUP_IMAGE_CACHE = true;
- window.boot();
- }
|