• 怎么更快地合成大西瓜?搞懂游戏的源码,闭着眼睛都能成功!


    “年纪轻轻的,千万别玩合成大西瓜。”
    值此过年前无心干活的特殊时期,玩法简单并伴随着魔力极强的「病毒」属性的H5小游戏《合成大西瓜》一夜爆红,到处都有人晒出自己三更半夜不睡觉,一心合成大西瓜的战果。
    这款小游戏于1月22日上线,合成大西瓜由于魔性的玩法和音效,还蹭上开年大瓜的热点,一上线就火爆席卷朋友圈,现在出了多种山寨版本合魔改版本,题材五花八门甚至有些变态得让人想去洗眼睛(别学坏)……截至日前,#合成大西瓜#微博话题目前累计阅读数17.4亿,讨论43.2万,曝光量不逊于顶流明星。
    这款游戏被很多玩家和程序员进行了改版,现在这款游戏成了大家可以随便更改机制的游戏,今天小编为大家带来合成大西瓜代码分享,一起来看看吧!

    合成大西瓜代码一览

     // QQPlay window need to be inited first

    if (false) {

        BK.Script.loadlib('GameRes://libs/qqplay-adapter.js');

    }

    var loadingBool = true;

    var loadingNum = 0;

    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('.progress-bar span');

            cc.loader.onProgress = function (completedCount, totalCount, item) {

                loadData.completedCount = completedCount;

                loadData.totalCount = totalCount;

    if(loadingBool){

    var loadintT = document.getElementById("loadingText")

    }

    var percent = 100 * completedCount / totalCount;

    if(loadingBool && loadingNum >= 1 && totalCount > 1){

    if(percent.toFixed(0) >= 100){

                        loadintT.innerHTML = 'loading......100' + '%';

                        setTimeout(function(){

                            loadingBool = false;

                            loadintT.remove();

                        },0.1 * 1000);

                        clearInterval(timer);

    }

    }

                loadingNum ++;

    // if(loadingBool){

    // var loadintT = document.getElementById("loadingText")

    // }

    // var percent = 100 * completedCount / totalCount;

    // if(loadingBool && loadingNum >= 1){

    //    console.log("dskpi",loadingNum);

    //    loadintT.innerHTML = 'loading......' + parseInt(percent)  + '%';

    //    if(percent.toFixed(0) >= 100){

    //    loadingBool = false;

    //    loadintT.remove();

    //    }

    // }

    // loadingNum ++;

                // 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;

            cc.view.enableRetina(true);

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

                    cc.view.enableAutoFullScreen(false);

                }

                // 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, null,

                    // function () {

                        // 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);

                    // }

                // );

            // }

            var launchScene = settings.launchScene;

            // load scene

            // loadScene(launchScene);

     var canvas;

            if (cc.sys.isBrowser) {

                canvas = document.getElementById('GameCanvas');

            }

     var launchScene = settings.launchScene;

             console.log("landscape,",launchScene);

             var MainManger = __require("MainManage");

             MainManger.init(launchScene,cc.sys.isBrowser,canvas.style.visibility);

        };

        // jsList

        var jsList = settings.jsList;

        if (false) {

            BK.Script.loadlib();

        }

        else {

            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: !false && 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.game.run(option, onStart);

    };

    // main.js is qqplay and jsb platform entry file, so we must leave platform init code here

    if (false) {

        BK.Script.loadlib('GameRes://src/settings.js');

        BK.Script.loadlib();

        BK.Script.loadlib('GameRes://libs/qqplay-downloader.js');

        var ORIENTATIONS = {

            'portrait': 1,

            'landscape left': 2,

            'landscape right': 3

        };

        BK.Director.screenMode = ORIENTATIONS[window._CCSettings.orientation];

        initAdapter();

        cc.game.once(cc.game.EVENT_ENGINE_INITED, function () {

            initRendererAdapter();

        });

        qqPlayDownloader.REMOTE_SERVER_ROOT = "";

        var prevPipe = cc.loader.md5Pipe || cc.loader.assetLoader;

        cc.loader.insertPipeAfter(prevPipe, qqPlayDownloader);

        window.boot();

    }

    else 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();

    }

     
    这是一款非常好玩的合成游戏,通过将两球球堆砌在一起,合成更加大的球球,要注意会随时滚动的球哦,你能合成多少个呢?
    最后,如果你在学习编程遇到瓶颈,感到迷茫,困惑,可以加入【C语言C++学习企鹅圈
    学习交流,技术探讨,面试指导,简历修改...还有超多源码素材等学习资料,零基础的视频等着你!
     
  • 相关阅读:
    python全栈学习--day48
    python全栈学习--day47(HTML-----高级选择器与盒子模型等
    python全栈学习--day46(html---列表,标签,表格,表单,css引入与基本选择器)
    python-面向对象编程设计与开发
    python-知识点的复习2
    python-知识点的复习
    python-re模块
    python-logging模块
    python-hash和md5算法
    python-配置文件的处理configpasser模块
  • 原文地址:https://www.cnblogs.com/mu-ge/p/14381857.html
Copyright © 2020-2023  润新知