Spaces:
Runtime error
Runtime error
(function () { | |
function boot () { | |
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]]; | |
} | |
} | |
} | |
} | |
// init engine | |
var canvas; | |
if (cc.sys.isBrowser) { | |
canvas = document.getElementById('GameCanvas'); | |
} | |
if (false) { | |
var ORIENTATIONS = { | |
'portrait': 1, | |
'landscape left': 2, | |
'landscape right': 3 | |
}; | |
BK.Director.screenMode = ORIENTATIONS[settings.orientation]; | |
initAdapter(); | |
} | |
function setLoadingDisplay () { | |
// Loading splash scene | |
var splash = document.getElementById('splash'); | |
var progressBar = splash.querySelector('.progress-bar span'); | |
cc.loader.onProgress = function (completedCount, totalCount, item) { | |
var percent = 100 * completedCount / totalCount; | |
if (progressBar) { | |
progressBar.style.width = percent.toFixed(2) + '%'; | |
} | |
}; | |
splash.style.display = 'block'; | |
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; | |
if (false) { | |
BK.Script.loadlib(); | |
} | |
cc.view.resizeWithBrowserSize(true); | |
if (!false && !false) { | |
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; | |
} | |
} | |
// init assets | |
cc.AssetLibrary.init({ | |
libraryPath: 'res/import', | |
rawAssetsBase: 'res/raw-', | |
rawAssets: settings.rawAssets, | |
packedAssets: settings.packedAssets, | |
md5AssetsMap: settings.md5AssetsMap | |
}); | |
if (false) { | |
cc.Pipeline.Downloader.PackDownloader._doPreload("WECHAT_SUBDOMAIN", settings.WECHAT_SUBDOMAIN_DATA); | |
} | |
var launchScene = settings.launchScene; | |
// load scene | |
cc.director.loadScene(launchScene, null, | |
function () { | |
if (cc.sys.isBrowser) { | |
// show canvas | |
canvas.style.visibility = ''; | |
var div = document.getElementById('GameDiv'); | |
if (div) { | |
div.style.backgroundImage = ''; | |
} | |
} | |
cc.loader.onProgress = null; | |
console.log('Success to load scene: ' + launchScene); | |
} | |
); | |
}; | |
// jsList | |
var jsList = settings.jsList; | |
if (!false) { | |
var bundledScript = settings.debug ? 'src/project.dev.js' : 'src/project.5549d.js'; | |
if (jsList) { | |
jsList = jsList.map(function (x) { | |
return 'src/' + x; | |
}); | |
jsList.push(bundledScript); | |
} | |
else { | |
jsList = [bundledScript]; | |
} | |
} | |
// anysdk scripts | |
if (cc.sys.isNative && cc.sys.isMobile) { | |
jsList = jsList.concat(['src/anysdk/jsb_anysdk.js', 'src/anysdk/jsb_anysdk_constants.js']); | |
} | |
var option = { | |
//width: width, | |
//height: height, | |
id: 'GameCanvas', | |
scenes: settings.scenes, | |
debugMode: settings.debug ? cc.DebugMode.INFO : cc.DebugMode.ERROR, | |
showFPS: (!false && !false) && settings.debug, | |
frameRate: 60, | |
jsList: jsList, | |
groupList: settings.groupList, | |
collisionMatrix: settings.collisionMatrix, | |
renderMode: 1 | |
} | |
cc.game.run(option, onStart); | |
} | |
if (false) { | |
BK.Script.loadlib('GameRes://libs/qqplay-adapter.js'); | |
BK.Script.loadlib('GameRes://src/settings.js'); | |
BK.Script.loadlib(); | |
BK.Script.loadlib('GameRes://libs/qqplay-downloader.js'); | |
qqPlayDownloader.REMOTE_SERVER_ROOT = ""; | |
var prevPipe = cc.loader.md5Pipe || cc.loader.assetLoader; | |
cc.loader.insertPipeAfter(prevPipe, qqPlayDownloader); | |
// <plugin script code> | |
boot(); | |
return; | |
} | |
if (false) { | |
require(window._CCSettings.debug ? 'cocos2d-js.js' : 'cocos2d-js-min.335ee.js'); | |
require('./libs/weapp-adapter/engine/index.js'); | |
var prevPipe = cc.loader.md5Pipe || cc.loader.assetLoader; | |
cc.loader.insertPipeAfter(prevPipe, wxDownloader); | |
boot(); | |
return; | |
} | |
if (window.jsb) { | |
require('src/settings.4cc17.js'); | |
require('src/jsb_polyfill.js'); | |
boot(); | |
return; | |
} | |
if (window.document) { | |
var splash = document.getElementById('splash'); | |
splash.style.display = 'block'; | |
var cocos2d = document.createElement('script'); | |
cocos2d.async = true; | |
cocos2d.src = window._CCSettings.debug ? 'cocos2d-js.js' : 'cocos2d-js-min.335ee.js'; | |
var engineLoaded = function () { | |
document.body.removeChild(cocos2d); | |
cocos2d.removeEventListener('load', engineLoaded, false); | |
if (typeof VConsole !== 'undefined') { | |
window.vConsole = new VConsole(); | |
} | |
boot(); | |
}; | |
cocos2d.addEventListener('load', engineLoaded, false); | |
document.body.appendChild(cocos2d); | |
} | |
})(); | |