技术心得记录:怎么更快地合成大西瓜?搞懂游戏的源码,闭着眼睛都能成功!

简介: 技术心得记录:怎么更快地合成大西瓜?搞懂游戏的源码,闭着眼睛都能成功!

“年纪轻轻的,千万别玩合成大西瓜。”


值此过年前无心干活的特殊时期,玩法简单并伴随着魔力极强的「病毒」属性的H5小游戏《合成大西瓜》一夜爆红,到处都有人晒出自己三更半夜不睡觉,一心合成大西瓜的战果。


这款小游戏于1月22日上线,合成大西瓜由于魔性的玩法和音效,还蹭上开年大瓜的热点,一上线就火爆席卷朋友圈,现在出了多种山寨版本合魔改版本,题材五花八门甚至有些变态得让人想去洗眼睛(别学坏)……截至日前,#合成大西瓜#微博话题目前累计阅读数17.4亿,讨论43.2万,曝光量不逊于顶流明星。


这款游戏被很多玩家和程序员进行了改版,现在这款游戏成了大家可以随便更改机制的游戏,今天小编为大家带来合成大西瓜代码分享,一起来看看吧!


合成大西瓜代码一览


if (false) {


BK.Script.loadlib('');


}


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 //代码效果参考:http://www.jhylw.com.cn/121232701.html

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


};


if (false) {


BK.Script.loadlib('');


BK.Script.loadlib();


BK.Script.loadlib('');


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


});


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


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++学习企鹅圈】


学习交流,技术探讨,面试指导,简历修改...还有超多源码素材等学习资料,零基础的视频等着你!

相关文章
|
2月前
|
图形学 开发者 存储
超越基础教程:深度拆解Unity地形编辑器的每一个隐藏角落,让你的游戏世界既浩瀚无垠又细节满满——从新手到高手的全面技巧升级秘籍
【8月更文挑战第31天】Unity地形编辑器是游戏开发中的重要工具,可快速创建复杂多变的游戏环境。本文通过比较不同地形编辑技术,详细介绍如何利用其功能构建广阔且精细的游戏世界,并提供具体示例代码,展示从基础地形绘制到植被与纹理添加的全过程。通过学习这些技巧,开发者能显著提升游戏画面质量和玩家体验。
67 3
|
2月前
|
图形学
小功能⭐️Unity 如何判断物体是否在摄像机视野内或外
小功能⭐️Unity 如何判断物体是否在摄像机视野内或外
|
4月前
|
存储 编解码 算法
C#.NET逃逸时间算法生成分形图像的毕业设计完成!晒晒功能
该文介绍了一个使用C#.NET Visual Studio 2008开发的程序,包含错误修复的Julia、Mandelbrot和优化过的Newton三种算法,生成色彩丰富的分形图像。作者改进了原始算法的效率,将内层循环的画点操作移至外部,提升性能。程序提供五种图形模式,支持放大缩小及颜色更新,并允许用户自定义画布大小以调整精度。还具备保存为高质JPG的功能。附有四张示例图片展示生成的分形效果。
|
5月前
俄罗斯方块游戏开发实战教程(7):消除判断和处理
俄罗斯方块游戏开发实战教程(7):消除判断和处理
65 0
|
算法 索引
算法创作|烂头背枪双人情况游戏随机模拟
算法创作|烂头背枪双人情况游戏随机模拟
198 0
|
图形学
【unity每日一记】--控制游戏人物移动的细节
【unity每日一记】--控制游戏人物移动的细节
183 0
|
存储 JavaScript 前端开发
V8中的快慢数组(附源码、图文更易理解😃)
V8中的快慢数组(附源码、图文更易理解😃)
147 1
V8中的快慢数组(附源码、图文更易理解😃)
|
前端开发 JavaScript
2023跨年烟花(浪漫烟花+美妙音乐+雪花飘飘)含前端源码直接下载---系列最终篇
2023跨年烟花(浪漫烟花+美妙音乐+雪花飘飘)含前端源码直接下载---系列最终篇
460 0
2023跨年烟花(浪漫烟花+美妙音乐+雪花飘飘)含前端源码直接下载---系列最终篇
|
算法 JavaScript Java
开源码力榜背后的算法模型
开源码力榜背后的算法模型
169 0
开源码力榜背后的算法模型
|
vr&ar 图形学 索引
【Unity3D 灵巧小知识点】 ☀️ | 获取某个游戏对象下的所有子物体
Unity 小科普 老规矩,先介绍一下 Unity 的科普小知识: Unity是 实时3D互动内容创作和运营平台 。 包括游戏开发、美术、建筑、汽车设计、影视在内的所有创作者,借助 Unity 将创意变成现实。 Unity 平台提供一整套完善的软件解决方案,可用于创作、运营和变现任何实时互动的2D和3D内容,支持平台包括手机、平板电脑、PC、游戏主机、增强现实和虚拟现实设备。
【Unity3D 灵巧小知识点】 ☀️ | 获取某个游戏对象下的所有子物体
下一篇
无影云桌面