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

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

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


值此过年前无心干活的特殊时期,玩法简单并伴随着魔力极强的「病毒」属性的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++学习企鹅圈】


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

相关文章
|
5月前
|
图形学
【制作100个unity游戏之27】使用unity复刻经典游戏《植物大战僵尸》,制作属于自己的植物大战僵尸随机版和杂交版3(附带项目源码)
【制作100个unity游戏之27】使用unity复刻经典游戏《植物大战僵尸》,制作属于自己的植物大战僵尸随机版和杂交版3(附带项目源码)
135 2
|
3月前
|
图形学 开发者 存储
超越基础教程:深度拆解Unity地形编辑器的每一个隐藏角落,让你的游戏世界既浩瀚无垠又细节满满——从新手到高手的全面技巧升级秘籍
【8月更文挑战第31天】Unity地形编辑器是游戏开发中的重要工具,可快速创建复杂多变的游戏环境。本文通过比较不同地形编辑技术,详细介绍如何利用其功能构建广阔且精细的游戏世界,并提供具体示例代码,展示从基础地形绘制到植被与纹理添加的全过程。通过学习这些技巧,开发者能显著提升游戏画面质量和玩家体验。
147 3
|
2月前
|
图形学 开发者
【独家揭秘】Unity游戏开发秘籍:从基础到进阶,掌握材质与纹理的艺术,打造超现实游戏视效的全过程剖析——案例教你如何让每一面墙都会“说话”
【8月更文挑战第31天】Unity 是全球领先的跨平台游戏开发引擎,以其高效性能和丰富的工具集著称,尤其在提升游戏视觉效果方面表现突出。本文通过具体案例分析,介绍如何利用 Unity 中的材质与纹理技术打造逼真且具艺术感的游戏世界。材质定义物体表面属性,如颜色、光滑度等;纹理则用于模拟真实细节。结合使用两者可显著增强场景真实感。以 FPS 游戏为例,通过调整材质参数和编写脚本动态改变属性,可实现自然视觉效果。此外,Unity 还提供了多种高级技术和优化方法供开发者探索。
52 0
|
4月前
|
图形学 开发者
【实战优化】U3D物理引擎碰撞检测精调秘籍:告别穿透与粘滞,重塑真实游戏体验
【7月更文第12天】在Unity3D游戏开发中,精准的碰撞检测是营造沉浸式游戏体验的关键。然而,开发者常面临游戏角色或物体间的碰撞反应不自然,如穿透、粘滞现象,这些问题不仅破坏了游戏的真实感,还严重影响了玩家的体验。本文将深入探讨U3D物理引擎中碰撞检测不准确的根源,并提出一系列行之有效的调优策略,辅以代码实例,帮助开发者打造流畅自然的物理互动。
247 1
|
5月前
|
存储 JSON 关系型数据库
【制作100个unity游戏之27】使用unity复刻经典游戏《植物大战僵尸》,制作属于自己的植物大战僵尸随机版和杂交版13(完结,附带项目源码)
【制作100个unity游戏之27】使用unity复刻经典游戏《植物大战僵尸》,制作属于自己的植物大战僵尸随机版和杂交版13(完结,附带项目源码)
107 0
|
编解码 人工智能 算法
社区供稿 | AIGC图像分辨率太低?快来试试像素感知扩散超分模型,你想要的细节都在这里!
本文介绍了一种全新的基于SD生成先验的图像超分辨率和修复算法,在多个任务上都有着SOTA的表现。
|
6月前
俄罗斯方块游戏开发实战教程(7):消除判断和处理
俄罗斯方块游戏开发实战教程(7):消除判断和处理
76 0
|
图形学
【unity每日一记】--控制游戏人物移动的细节
【unity每日一记】--控制游戏人物移动的细节
191 0
|
缓存 算法
消除游戏系列教程大合集
今天给大家带来一份消除游戏系列教程大合集,谦虚的讲这应该是全网你能找到的最好的消除游戏系列教程(反正我是没找到更好的)。这年头儿,像小蚂蚁这样的,虽然没几个人看但还在孜孜不倦的写教程的人已经不多了,所以大家且看且珍惜,一定要记得收藏,虽然收藏了你也不会看,但是至少有个心理安慰。如果对你有用的话,不要忘了点赞分享一下,也算是对我的鼓励了。
80 0
|
前端开发 JavaScript
2023跨年烟花(浪漫烟花+美妙音乐+雪花飘飘)含前端源码直接下载---系列最终篇
2023跨年烟花(浪漫烟花+美妙音乐+雪花飘飘)含前端源码直接下载---系列最终篇
475 0
2023跨年烟花(浪漫烟花+美妙音乐+雪花飘飘)含前端源码直接下载---系列最终篇