Git Product home page Git Product logo

daxigua's Introduction

合成大西瓜

声明,本项目仅帮助大家学习技术及娱乐,切勿将修改后的网站大规模传播及商用,以避免侵权!

最简单的魔改发布『 合成大西瓜 』,配套改图工具,不用改代码,修改配置即可!

有帮助的话,求个大大的 star,有疑问请联系微信:liyupi66

作者编程技术公众号『 程序员鱼皮 』,欢迎关注 ❤️

遇到问题可以先阅读本文档最后 问题及解决

详细教程:魔改和上线你的合成大西瓜,最全教程!

视频教程:全网最贴心的魔改合成大西瓜教程,从修改到发布!

未修改版在线玩:https://daxigua.liyupi.com

魔改版在线玩:https://dadaxigua.liyupi.com

未修改版源码:https://github.com/liyupi/daxigua/releases/tag/1.0.0

🔥 新上线大西瓜改图工具,改图效率翻倍!

秀爆朋友圈

目录

本地启动

提供两种本地启动方式,serve 和 Docker,小白建议使用第一种。

小白适用

  1. 安装 serve 工具:

    npm i -g serve
  2. 进入 daxigua 目录,运行 serve:

    serve
  3. 打开浏览器访问 localhost:5000 即可!

已安装 Docker

感谢 buchenglei 的贡献

  1. 构建镜像

    docker build -t daxigua-server .
  2. 启动容器

    docker run -d --name play-daxigua -p5000:5000 daxigua-server

快速魔改

按照下列说明修改即可,持续补充

  1. 改分数:改 extraSettings.js 文件

  2. 改图片:替换 res/raw-assets 目录下指定目录的图片,必须同文件名、后缀、尺寸,成功覆盖可生效,可替换素材文档

  3. 无敌模式:改 extraSettings.js 文件

  4. 指定第一个水果:改 extraSettings.js 文件

  5. 指定下次出现的水果:改 extraSettings.js 文件

  6. 大水果合成小水果:改 extraSettings.js 文件

  7. 让水果更 Q 弹:改 extraSettings.js 文件,原理参考

  8. 水果下落速度减缓:改 extraSettings.js 文件,原理参考

  9. 替换音乐:,覆盖 res/raw-assets 目录下相同的音乐,可替换素材文档

  10. 替换背景:和改图片原理相同,可替换素材文档

  11. 去广告:将广告图片替换为同背景色底图

  12. 替换广告链接:改 extraSettings.js 文件

  13. 改网站标题:改 extraSettings.js 文件

  14. 开启选分弹窗:改 extraSettings.js 文件

  15. 点击右上方图标更换水果: 改 extraSettings.js 文件

上线发布

提供了多种上线发布方式,腾讯云一键部署、Vercel、腾讯云静态网站托管、GitHub Pages 等,小白建议使用 Vercel。

腾讯云 Webify 一键部署

腾讯云 Webify 支持将模板克隆至您的个人仓库,部署应用,并且在代码更新后自动触发重新部署。

点击下方按钮:

应用配置如下:

  • 构建命令安装命令 为空
  • 输出目录 填为 .

随后点击部署应用即可。

Vercel

适用于零基础的小白。操作简单、域名简短,但国外的服务器,比较慢。

Vercel 是免费网站托管平台,可以帮我们部署网站,并生成可访问的简短网址,还能够和自己购买的域名进行绑定。

先在命令行通过 npm 命令安装 Vercel:

npm install -g vercel

安装完成后,进入 index.html 所在目录(我的是 daxigua),使用 vercel 命令发布网站:

cd daxigua
vercel --prod

然后会让你输入一些选项,比如项目名称、是否和已有项目关联、是否保存当前配置等。如果要创建多个项目,千万不要和已有项目关联!

发布成功,会得到一个网址,打开就可以看到游戏啦,还可以把网址分享给别人!

腾讯云静态网站托管

国内服务器,访问速度更快,且链接未被微信封杀。

地址:https://cloud.tencent.com/product/wh

可以参照这篇文章的内容尝试发布,魔改和上线你的合成大西瓜,最全教程!

魔改原理

请先阅读:魔改和上线你的合成大西瓜,最全教程!

我给 project.js 文件补充了注释,大家可以搜索关键字,如 "改分" 来快速定位,学习修改原理。

问题及解决

  1. 无法安装 serve 或者 Vercel?

    答:如果报找不到 npm,请先安装 npm。

    如果安装中卡住,试着按下键盘(可能假死),还不行的话先用 npm 安装 cnpm(国内镜像,比较快):

    npm install cnpm -g --registry=https://registry.npm.taobao.org 

    再用 cnpm 安装: cnpm i -g servecnpm i -g vercel

  2. Vercel 网址被微信拦截怎么办?

    答:可以把网址复制到浏览器打开,也可以申请一个域名,在 Vercel 和服务提供商配置域名解析。 Vercel 基本是海外的服务器,无需备案。

  3. 怎么在电脑上浏览网页游戏?

    答:在浏览器中,按 F12 打开开发者工具,点击像手机一样的图标即可。

  4. 为什么 serve 后,打开网页一片空白?

    答:大概率是你在错误的目录下执行了 serve,请务必在 index.html 所在的文件夹下执行 serve。

  5. 执行 vercel 命令显示 signUp?

    答:要先去 Vercel 官网 注册。

  6. vercel 邮箱验证失败?

    答:先确认邮箱是否正确,如果验证失败,大概率是网络原因,请尝试 4G 等网络。或者在其他浏览器中,打开邮箱,点击验证按钮。

  7. 怎么使用 vercel 同时上线多个版本?

    答:在输入 vercel 后,选择不和已有项目关联(link),并且使用一个新的项目名(project name)。

  8. 想在修改文件后重新搞个新版本,但输入 vercel prod 后,直接覆盖了,而没有让我选择是否和现有项目关联(link),怎么办?

    答:执行 vercel 后,会在本地生成 .vercel 隐藏目录保存之前的发布信息,删掉该目录即可。

  9. 导出网址后,我修改了图片,然后游戏中还是原来的图片?

    答:网址读取的是远程的文件,只改了本地当然没用!再次执行 vercel 或腾讯云命令,把最新文件传上去。

  10. Mac 能否使用这个教程呢?

    答:当然可以!所有命令和 windows 完全一致!只是 cmd 命令行工具改为用 terminal 终端(按 command + 空格,搜索 terminal)

  11. 为什么打开网站白屏了?

    答:大概率是你修改错误,导致一些文件缺失。。可以试试重新下载代码,再修改,请先确保本地可以运行,再发布!

daxigua's People

Contributors

gjhuxiao avatar liyupi avatar starkwang avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

daxigua's Issues

手动添加BGM

你好,我想手动添加一段背景音乐,但是这段源码的资源文件像是定死已经编译成uuid的形式了,有办法新增资源么?

能否让游戏适配电脑浏览器的分辨率

您好, 我试图在电脑浏览器上运行该游戏, 但是分辨率一直无法调整, 程序会直接填充整个网页, 但是只有上半部分, 不太了解这个引擎, 请问有没有什么好办法.

打开之后白屏

错误代码如下:

The AudioContext was not allowed to start. It must be resumed (or created) after a user gesture on the page.
index.html:235 indexlTextTTTT
cocos2d-js-min.js:18401 Create unpacker 079499991 for 6dkeWRTOBGXICfYQ7JUBnG
cocos2d-js-min.js:18401 Create unpacker 07ce7530a for 14TDKXr2NJ6LjvHPops74o
cocos2d-js-min.js:18401 Create unpacker 0d669730c for c0BAyVxX9JzZy8EjFrc9DU
cocos2d-js-min.js:18401 Create unpacker 0e4bc3b03 for 0ek66qC1NOQLjgYmi04HvX
cocos2d-js-min.js:18401 Create unpacker 049f3a810 for 02delMVqdBD70a/HSD99FK
cocos2d-js-min.js:6742 Cocos Creator v2.2.2
main.js:188 landscape, db://assets/Scene/MainGameScene.fire
project.js:2005 thisg
project.js:1404 data undefined
project.js:1720 LoadBoolBeforeLoadS false
project.js:1723 goToScene
ads.js:5 IndexMainMangerMaing db://assets/Scene/MainGameScene.fire true
cocos2d-js-min.js:18401 Create unpacker 0ab855d50 for c52ohf1dpDO5oKWBAPxgOx
cocos2d-js-min.js:6369 Uncaught ERROR 4930, please go to https://github.com/cocos-creator/engine/blob/master/EngineErrorMap.md#4930 to see details. Arguments: res/raw-assets/47/4756311b-4364-4160-bc7e-299876f49770.png
cocos2d-js-min.js:6369 Uncaught
Object
cocos2d-js-min.js:6369 Uncaught ERROR 4930, please go to https://github.com/cocos-creator/engine/blob/master/EngineErrorMap.md#4930 to see details. Arguments: res/raw-assets/8c/8c52a851-9969-4702-9997-0a2ca9f43773.png
cocos2d-js-min.js:6369 Uncaught
Object
cocos2d-js-min.js:6369 Uncaught ERROR 4930, please go to https://github.com/cocos-creator/engine/blob/master/EngineErrorMap.md#4930 to see details. Arguments: res/raw-assets/bc/bcb2c9bc-a01c-409c-8984-4712446e1f05.png
cocos2d-js-min.js:6369 Uncaught
Object
cocos2d-js-min.js:6369 Uncaught
Object
cocos2d-js-min.js:6369 Uncaught
Object
cocos2d-js-min.js:6369 Uncaught
Object
cocos2d-js-min.js:6369 Uncaught
Object
cocos2d-js-min.js:6369 Uncaught
Object
cocos2d-js-min.js:6369 Uncaught
Object
cocos2d-js-min.js:6576 LoadScene c52ohf1dpDO5oKWBAPxgOx: 129.905029296875 ms
cocos2d-js-min.js:6578 Failed to load scene: Error: [AssetLibrary] loading JSON or dependencies failed:{"res/raw-assets/47/4756311b-4364-4160-bc7e-299876f49770.png":{},"res/raw-assets/8c/8c52a851-9969-4702-9997-0a2ca9f43773.png":{},"res/raw-assets/bc/bcb2c9bc-a01c-409c-8984-4712446e1f05.png":{}}

对改图圆形锯齿的优化

看到有人 @zhufree #13 贡献了批量改图的代码,我也是直接拿来用了,但是发现圆形锯齿比较明显,做了一点小小的优化:先画了一个很大的圆,然后缩放到应该大小,再蒙版剪裁。另外,也能支持jpg或者png的

# coding:utf-8

from PIL import Image, ImageDraw
import os

# 尺寸
size_dict = {
    1: 52,
    2: 80,
    3: 108,
    4: 119,
    5: 152,
    6: 183,
    7: 193,
    8: 258,
    9: 308,
    10: 308,
    11: 408,
}
# 项目中的资源文件名
file_name_dict = {
    1: 'ad/ad16ccdc-975e-4393-ae7b-8ac79c3795f2.png',
    2: '0c/0cbb3dbb-2a85-42a5-be21-9839611e5af7.png',
    3: 'd0/d0c676e4-0956-4a03-90af-fee028cfabe4.png',
    4: '74/74237057-2880-4e1f-8a78-6d8ef00a1f5f.png',
    5: '13/132ded82-3e39-4e2e-bc34-fc934870f84c.png',
    6: '03/03c33f55-5932-4ff7-896b-814ba3a8edb8.png',
    7: '66/665a0ec9-6c43-4858-974c-025514f2a0e7.png',
    8: '84/84bc9d40-83d0-480c-b46a-3ef59e603e14.png',
    9: '5f/5fa0264d-acbf-4a7b-8923-c106ec3b9215.png',
    10: '56/564ba620-6a55-4cbe-a5a6-6fa3edd80151.png',
    11: '50/5035266c-8df3-4236-8d82-a375e97a0d9c.png',
}
# 原图片文件夹,要求全部为正方形图片,1.png-11.png
raw_img_path = './love/'
# 项目中资源文件夹
des_img_path = './res/raw-assets/'

scale = 20


def circle(i):
    w = size_dict[i]
    radius = size_dict[i]//2
    bigR = radius * scale
    circle = Image.new('L', (bigR * 2, bigR * 2), 0)  # 创建一个黑色背景的画布
    draw = ImageDraw.Draw(circle)
    draw.ellipse((0, 0, bigR * 2, bigR * 2), fill=255)  # 画白色圆形

    try:
        raw_img = Image.open(raw_img_path + str(i) + '.png')
    except FileNotFoundError:
        raw_img = Image.open(raw_img_path + str(i) + '.jpg')
    avatar_size = (w, w)
    circle = circle.resize(avatar_size, Image.ANTIALIAS)
    im_resize = raw_img.resize(avatar_size, Image.ANTIALIAS)
    alpha = Image.new('L', im_resize.size, 255)
    alpha.paste(circle.crop((0, 0, radius, radius)), (0, 0))  # 左上角
    alpha.paste(circle.crop((radius, 0, radius * 2, radius)),
                (w - radius, 0))  # 右上角
    alpha.paste(circle.crop((radius, radius, radius * 2, radius * 2)),
                (w - radius, w - radius))  # 右下角
    alpha.paste(circle.crop((0, radius, radius, radius * 2)),
                (0, w - radius))  # 左下角
    im_resize.putalpha(alpha)
    im_resize.save(des_img_path + file_name_dict[i])


if __name__ == '__main__':
    for i in range(1, 12):
        circle(i)

Docker运行+nginx转发会产生502Bad GateWay

我尝试去使用docker对项目源码进行部署,我将容器运行在我的服务上并对docker暴露出的端口使用Nginx进行转发,会发生502 Bad Gateway。
具体的Dockerfile如下:

FROM node:8.15.1-alpine as build-stage

WORKDIR /app

COPY . .

EXPOSE 5000

CMD ["/bin/sh", "/app/script/build.sh"]

所执行的脚本如下:

#!/usr/bin/env bash
cd  /app/ \
    && npm i -g serve \
    && serve

以上为构建docker镜像的过程,然后使用docker run -p 5000:5000 -d watermelon去运行容器,访问暴露在外的网址时,却发生了502Bad GateWay? 请问这是怎么一回事?

访问的人数过多会报错

image
报错内容如图,貌似在linux或者macos上可以用ulimit命令扩大句柄数,可在windows server上没有这样的命令

卡在99%

开发者模式显示的错误:
截屏2021-02-02 下午11 51 33

上传到的网站:game.kerwintan.info
求大佬指点ww

下方棕色色块拉伸

我想要把下方棕色色块改成有花纹的桌子,但是这样做的话出现了拉伸问题显示失真,是因为这个色块本身就是用来填补空间,所以不支持正常显示花纹的吗?可以修改吗?

对于云端Linux服务器

能不能也出下Linux云服务器的教学呢?
我把项目复制到tomcat的webapp文件夹里面运行会一直加载到100%不动。这个问题怎么解决?
报错大部分是
Failed to load resource: the server responded with a status of 404 或者
Uncaught ReferenceError: noAdGoToScene is not defined

写了个处理图片的脚本

把正方形图批量处理成圆形和规定大小再复制到assets文件夹

# coding:utf-8
from PIL import Image, ImageDraw
import os

# 尺寸
size_dict = {
    1: 52,
    2: 80,
    3: 108, 
    4: 119,
    5: 152,
    6: 183,
    7: 193,
    8: 258,
    9: 308,
    10: 308,
    11: 408,
}
# 项目中的资源文件名
file_name_dict = {
    1: 'ad/ad16ccdc-975e-4393-ae7b-8ac79c3795f2.png',
    2: '0c/0cbb3dbb-2a85-42a5-be21-9839611e5af7.png',
    3: 'd0/d0c676e4-0956-4a03-90af-fee028cfabe4.png', 
    4: '74/74237057-2880-4e1f-8a78-6d8ef00a1f5f.png',
    5: '13/132ded82-3e39-4e2e-bc34-fc934870f84c.png',
    6: '03/03c33f55-5932-4ff7-896b-814ba3a8edb8.png',
    7: '66/665a0ec9-6c43-4858-974c-025514f2a0e7.png',
    8: '84/84bc9d40-83d0-480c-b46a-3ef59e603e14.png',
    9: '5f/5fa0264d-acbf-4a7b-8923-c106ec3b9215.png',
    10: '56/564ba620-6a55-4cbe-a5a6-6fa3edd80151.png',
    11: '50/5035266c-8df3-4236-8d82-a375e97a0d9c.png',
}
# 原图片文件夹,要求全部为正方形图片,1.png-11.png
raw_img_path = 'E:/daxigua/res/judy/'
# 项目中资源文件夹
des_img_path = 'E:/daxigua/res/raw-assets/'
def circle(i):
    w = size_dict[i]
    radius = size_dict[i]//2
    circle = Image.new('L', (radius * 2, radius * 2), 0)  # 创建一个黑色背景的画布
    draw = ImageDraw.Draw(circle)
    draw.ellipse((0, 0, radius * 2, radius * 2), fill=255)  # 画白色圆形

    raw_img = Image.open(raw_img_path + str(i) + '.png')
    avatar_size = (w, w)
    im_resize = raw_img.resize(avatar_size, Image.ANTIALIAS)
    alpha = Image.new('L', im_resize.size, 255)
    alpha.paste(circle.crop((0, 0, radius, radius)), (0, 0))  # 左上角
    alpha.paste(circle.crop((radius, 0, radius * 2, radius)), (w - radius, 0))  # 右上角
    alpha.paste(circle.crop((radius, radius, radius * 2, radius * 2)), (w - radius, w - radius))  # 右下角
    alpha.paste(circle.crop((0, radius, radius, radius * 2)), (0, w - radius))  # 左下角
    im_resize.putalpha(alpha)
    im_resize.save(des_img_path + file_name_dict[i])


if __name__ == '__main__':
    for i in range(1, 12):
        circle(i)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.