微信公众号html5游戏一系列干货分享(留言提问)!!!!

马克马克!!

酷!
~

mark一下

mark!

可以帮我看看进度条的问题吗。在PC浏览器上没问题,在手机浏览器上进入就是100% ,再从退回0%开始加载到100%
有服务器地址 用手机打开能看到那个效果
http://123.206.211.123:8800/earthquake/earthquake/build/web-mobile/index.html

你能贴出你加载进度的代码不,不然你酱紫说我也不懂

我是这样加载资源的

// 加载游戏资源
initLoadingResources: function () {
var self = this;
var currentResCount = cc.loader.getResCount();
cc.loader.loadResDir(“Plist”,cc.SpriteAtlas,
function (completedCount, totalCount, item) {
var percent = (completedCount - currentResCount) / (totalCount - currentResCount);
percent = percent.toFixed(2);
self._progressBar.progress = percent;
},
function (err, assets) {
// 加载音效
cc.userGame.music.preload();
// 存储到对象
for(var i = 0; i < assets.length; i++){
var asset = assets[i];
cc.userGame.plistCache.addPlistCache(asset.name.replace(".plist",""), asset);
}
// 存储预载体
cc.loader.loadResDir(“Effect”, function (err, prefab) {
for (var i = 0; i < prefab.length; ++i) {
var name = prefab[i].name;
cc.userGame.prefabsMap[name] = prefab[i];
}
});
cc.loader.loadResDir(“Prefab”, function (err, prefab) {
for (var i = 0; i < prefab.length; ++i) {
var name = prefab[i].name;
cc.userGame.prefabsMap[name] = prefab[i];
}
self.loadingResourcesCompleted();
});
}
);
},

我的进度条就是直接编译出来,我没有更改,只是换了图片和css的进度条颜色

在安卓手机浏览器有问题

(function () {

'use strict';

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');
    }

    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.view.resizeWithBrowserSize(true);

        if (!false) {
            // UC browser on many android devices have performance issue with retina display
            if (cc.sys.os !== cc.sys.OS_ANDROID || cc.sys.browserType !== cc.sys.BROWSER_TYPE_UC) {
                cc.view.enableRetina(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);
                }
                // qq, wechat, baidu
                cc.view.enableAutoFullScreen(
                    cc.sys.browserType !== cc.sys.BROWSER_TYPE_BAIDU &&
                    cc.sys.browserType !== cc.sys.BROWSER_TYPE_WECHAT &&
                    cc.sys.browserType !== cc.sys.BROWSER_TYPE_MOBILE_QQ
                );
            }
            
            // Limit downloading max concurrent task to 2,
            // more tasks simultaneously may cause performance draw back on some android system / brwosers.
            // 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
        });

        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;
    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];
    }

    // 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 && settings.debug,
        frameRate: 60,
        jsList: jsList,
        groupList: settings.groupList,
        collisionMatrix: settings.collisionMatrix,
        renderMode: 0
    };

    cc.game.run(option, onStart);
}

if (window.jsb) {
    require('src/settings.js');
    require('src/jsb_polyfill.js');
    boot();
}
else if (false) {
    require(window._CCSettings.debug ? 'cocos2d-js.js' : 'cocos2d-js-min.js');
    var prevPipe = cc.loader.md5Pipe || cc.loader.assetLoader;
    cc.loader.insertPipeAfter(prevPipe, wxDownloader);
    boot();
}
else 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.js';

    var engineLoaded = function () {
        document.body.removeChild(cocos2d);
        cocos2d.removeEventListener('load', engineLoaded, false);
        window.eruda && eruda.init() && eruda.get('console').config.set('displayUnenumerable', false);
        boot();
    };
    cocos2d.addEventListener('load', engineLoaded, false);
    document.body.appendChild(cocos2d);
}

})();

1赞

哦,你是说在main.js里面的那个进度条吗,那个进度条都被我删了。我自己重写的

是在main.js里删了重写吗

谢谢大佬的分享, 终于可以解决我的问题了~

我没有遇到音效播不出来的情况, 不过遇到了 苹果在微信浏览器上运行, 不会自动播放背景音乐, 需要点击一下屏幕才会播放~~~ 安卓不会有这种问题

有没有在微信浏览器里遇到问题的?

666,有用哦!

安卓微信浏览器里打开editBox界面有的手机会往上推有的会旋转90度是什么问题碰到过吗

mark下

mark

https://forum.cocos.com/t/plist/61337 请问这个有什么好的解决方案没有?