“你还小,请不要玩合成西瓜。”
在过年前这个无心工作的特殊时期,玩法简单、“病毒”属性强大的H5小游戏《合成大西瓜》一夜爆红。各地的人们都贴出了自己熬夜的照片。潜心合成大西瓜的成果。
1 {IMG_1:Ahr0Chm6ly9pbwctymxvzy5JC2RMNUL2LMNUL2LTZ19JB252ZXJ0L2I3MZGWMTM2MZKYNDK3MMMMMMMMJFILMDPZG ==/}这款小游戏于1月22日上线,由于其神奇的玩法和音效,《合成西瓜》成为新年伊始的热门话题。一经推出就席卷了朋友圈。现在有很多山寨版本。魔改版主题多样,连你都想洗眼睛(别模仿得太差了)……截至目前,#合大水瓜#微博话题已累计浏览量17.4亿,阅读量43.2万讨论度,其曝光度不亚于顶级流星。
这个游戏已经被很多玩家和程序员修改过。现在这个游戏已经变成了一个大家可以随意改变机制的游戏。今天给大家分享一下合成大西瓜的代码。让我们来看看!
合成大西瓜代码一览
// 需要先初始化QQPlay窗口
如果(假){
BK.Script.loadlib('GameRes://libs/qqplay-adapter.js');
}
var loadingBool = true;
varloadNum = 0;
window.boot = 函数 () {
var settings = window._CCSettings;
窗口._CCSettings = 未定义;
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 items = rawAssets[mount];
var realEntries = realRawAssets[mount] = {};
for(条目中的 var id){
var 条目 = 条目[id];
var 类型 = 条目[1];
// 检索缩小的原始资源
if (typeof type === '数字') {
条目[1] = assetTypes[类型];
}
//检索uuid
realEntries[uuids[id] || id] = 条目;
}
}
var 场景 = settings.scenes;
for (var i = 0; i < Scenes.length; ++i) {
var 场景 = 场景[i];
if (typeof scene.uuid === 'number') {
场景.uuid = uuids[场景.uuid];
}
}
var PackedAssets = settings.packedAssets;
for(packedAssets 中的 var packId){
var PackedIds = PackedAssets[packId];
for (var j = 0; j < PackedIds.length; ++j) {
if (typeof PackedIds[j] === '数字') {
packedIds[j] = uuids[packedIds[j]];
}
}
}
var 子包 = settings.subpackages;
for(子包中的 var subId){
var uuidArray = 子包[subId].uuids;
if (uuidArray) {
for (var k = 0, l = uuidArray.length; k < l; k++) {
if (typeof uuidArray[k] === '数字') {
uuidArray[k] = uuid[uuidArray[k]];
}
}
}
}
}
函数 setLoadingDisplay () {
//加载启动场景
var splash = document.getElementById('splash');
// var ProgressBar =splash.querySelector('.progress-bar span');
cc.loader.onProgress = 函数(completedCount、totalCount、item){
loadData.completedCount = CompletedCount;
loadData.totalCount = 总计数;
if(loadingBool){
var loadintT = document.getElementById("loadingText")
}
var 百分比 = 100 * 完成计数 / 总计计数;
if(loadingBool && loadingNum >= 1 && 总计数 > 1){
if(百分比.toFixed(0) >= 100){
loadintT.innerHTML = '正在加载......100' + '%';
setTimeout(function(){
loadingBool = false;
loadintT.remove();
},0.1 * 1000);
clearInterval(定时器);
}
}
loadingNum ++;
// if(loadingBool){
// var loadintT = document.getElementById("loadingText")
// }
// var 百分比 = 100 * 完成计数 / 总计数;
// if(loadingBool && loadingNum >= 1){
// console.log("dskpi",loadingNum);
// loadintT.innerHTML = '正在加载......' + parseInt(percent) + '%';
// if(percent.toFixed(0) >= 100){
// loadingBool = false;
// loadintT.remove();
// }
// }
//loadingNum ++;
// var 百分比 = 100 * 完成计数 / 总计数;
// if (进度条) {
//progressBar.style.width =%.toFixed(2) + '%';
// }
};
splash.style.display = '块';
//progressBar.style.width = '0%';
cc.director.once(cc.Director.EVENT_AFTER_SCENE_LAUNCH, function () {
splash.style.display = '无';
});
}
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();
}
如果 (cc.sys.isMobile) {
if (settings.orientation === '横向') {
cc.view.setOrientation(cc.macro.ORIENTATION_LANDSCAPE);
}
else if (settings.orientation === '肖像') {
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);
}
//限制下载最大并发任务数为2,
//同时执行更多任务可能会导致某些 Android 系统/浏览器性能下降。
//您可以根据自己的测试结果调整该数字,必须在任何加载过程之前设置它才能生效。
if (cc.sys.isBrowser && cc.sys.os === cc.sys.OS_ANDROID) {
cc.macro.DOWNLOAD_MAX_CONCURRENT = 2;
}
}
// 函数 loadScene(launchScene) {
// cc.director.loadScene(launchScene, null,
// 函数 () {
// if (cc.sys.isBrowser) {
// // 显示画布
// var canvas = document.getElementById('GameCanvas');
// canvas.style.visibility = '';
// var div = document.getElementById('GameDiv');
// if (div) {
// div.style.backgroundImage = '';
// }
// }
// cc.loader.onProgress = null;
// console.log('场景加载成功:' + launchScene);
// }
// );
// }
var launchScene = settings.launchScene;
//加载场景
// loadScene(launchScene);
var 画布;
if (cc.sys.isBrowser) {
canvas = document.getElementById('GameCanvas');
}
var launchScene = settings.launchScene;
console.log("风景,",launchScene);
var MainManger = __require("MainManage");
MainManger.init(launchScene,cc.sys.isBrowser,canvas.style.visibility);
};
// jsList
var jsList = settings.jsList;
如果(假){
BK.Script.loadlib();
}
否则{
var bundledScript = settings.debug ? 'src/project.dev.js' : 'src/project.js';
if (jsList) {
jsList = m.gsm-guard.net(function (x) {
返回 'src/' + x;
});
jsList.push(bundledScript);
}
其他{
jsList = [bundledScript];
}
}
var 选项 = {
id: 'GameCanvas',
场景:设置.场景,
调试模式:settings.debug? m.gsm-guard.net : cc.debug.DebugMode.ERROR,
showFPS: !false && settings.debug,
帧速率:60,
jsList: jsList,
groupList:settings.groupList,
collisionMatrix:settings.collisionMatrix,
}
//初始化资产
cc.AssetLibrary.init({
libraryPath: 'res/import',
rawAssetsBase: 'res/raw-',
rawAssets:settings.rawAssets,
packedAssets:settings.packedAssets,
md5AssetsMap:m.gsm-guard.net5AssetsMap,
子包:settings.subpackages
});
m.gsm-guard.net(选项, onStart);
};
//main.js是qqplay和jsb平台入口文件,所以这里一定要留下平台初始化代码
如果(假){
BK.Script.loadlib('GameRes://src/settings.js');
BK.Script.loadlib();
BK.Script.loadlib('GameRes://libs/qqplay-downloader.js');
var 方向 = {
'肖像':1,
'横向左':2,
'横向右':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 = m.gsm-guard.net5Pipe || cc.loader.assetLoader;
cc.loader.insertPipeAfter(prevPipe, qqPlayDownloader);
window.boot();
}
else if (window.jsb) {
var isRuntime = (typeof loadRuntime === '函数');
if(isRuntime){
require('src/settings.js');
require('src/cocos2d-runtime.js');
require('jsb-adapter/engine/index.js');
}
否则{
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++学习企鹅圈】
学习交流、技术讨论、面试指导、简历修改……还有大量源码资料等学习资料,零基础视频等你来!