魔改和上線你的合成大西瓜,最全教程!

2021-02-19 Vue中文社區

本文是從 0 到 1 的教程,讓小白也能夠魔改和上線發布屬於你的合成大西瓜!

最近,一款名為『 合成大西瓜 』的遊戲突然火了!看來真的是大家吃瓜吃太多了,這個小遊戲深抓人心!

當然,遊戲本身非常有趣,玩法簡單,就是俄羅斯方塊、2048、水果忍者的結合。控制水果的下落,相同的兩個水果會合成更大的水果,然後消除,並發出濺射效果。

玩了一會後,看到朋友圈的曬圖,我也安耐不住了,開始思考怎麼拿高分。對於程式設計師來說,最簡單的方式就是直接改造程序。

正好在知乎上偶然刷到了一個相關問題,「 小遊戲《合成大西瓜》原始碼有嗎?」

那就開工吧!

首先去 GitHub 搜索原始碼,發現源碼已經被曝光的稀巴爛了,然後就下載了一份原始碼到本地,摩拳擦掌。

瀏覽源碼後,發現只是魔改一些基礎功能的話,不要太簡單!

這是我魔改的自定義加分版,輕輕鬆鬆千萬分!可在線玩:https://dadaxigua.liyupi.com

大西瓜魔改版

下面一起來打造自己的魔改合成大西瓜吧!

主要分為如下幾個步驟:

1. 下載源碼,本地運行下載源碼

首先從 GitHub 上下載原始碼(地址在文末):

下載原始碼

下載代碼後,我們得到這樣的目錄結構:

目錄結構

可以看到整個代碼目錄並不複雜,是基於 cocos2d 遊戲引擎開發,我們只需要了解幾個重要文件:

project.js,項目核心代碼,遊戲邏輯都在這裡

下面我們先試著在本地運行小遊戲。

本地運行

如果直接雙擊 index.html,是無法運行遊戲的,也就是很多同學遇到的 「卡在 99%」 問題。因為直接雙擊網頁文件,訪問協議是 file,而不是 http,會導致一些資源無法請求,缺失文件。

因此,我們需要在本地搭建一個 web 伺服器,以支持 http 協議訪問。

最簡單的方式就是使用 serve 工具。只需三步,就能使用,已完成的步驟可以直接跳過:

安裝 Node 和 npm

Node 是伺服器端運行 Js 代碼的引擎;npm 則是依賴包管理工具,可以輕鬆安裝工具和代碼類庫。

進入 Node 中文網 http://nodejs.cn/download/,下載 Node.js,會自動安裝 npm。

安裝成功後,進入命令行 cmd,輸入命令來判斷 npm 是否安裝成功:

npm -v

輸出版本號,則安裝成功:

安裝成功

一行命令安裝 serve 工具:

npm i -g serve

進入原始碼目錄(我這裡是 daxigua),啟動 serve:

serve

啟動成功後,打開瀏覽器訪問 localhost:5000 即可!

啟動成功動手魔改及原理

在魔改前,我們要先認清遊戲過程,然後根據自己要修改的內容去找對應的文件,再做修改。

遊戲的過程是:點擊滑鼠 => 水果下落 => 水果碰撞 => 計算分數 => 展示分數

下面列舉幾種簡單的魔改方式,包括改遊戲分數、替換遊戲圖片、無敵模式、控制水果生成、由大水果合成小水果、讓水果更 Q 彈等。

(部分創意源於 B 站 UP GJhuxiao,給大佬跪了!)

1. 改分數

拿到原始碼後,怎麼最快的定位要修改哪裡呢?

通過分析遊戲過程,發現改分數有兩種實現方式,在計算分數階段修改,或者直接修改最後要展示的分數。

再簡單瀏覽下項目裡的各個文件,發現 project.js 就是影響遊戲邏輯的核心文件。

那麼很簡單,直接在 project.js 中搜索代碼。分數對應的英文單詞是 "score" ,添加分數的英文單詞是 "addScore",搜搜看能不能找到線索。

果然,很快就發現了,分數是由 default.score 變量作為統計值的,有這麼一行代碼:

a.default.score += this.fruitNumber + 1

顯然,"+1" 是參與分數計算的,那我只要把基數 "1" 改為自己定義的數字即可~

// extraScore 可以自己改為任意值
a.default.score += this.fruitNumber + extraScore

當然也可以在進入遊戲前讓用戶自己輸入!我在 project.js 開頭加入了這樣一段代碼:

// 讓用戶輸入分數加成
let extraScore;
let extraScoreStr = '';

// 輸入有效數字才進入遊戲
while (isNaN(extraScore)) {
  extraScoreStr = prompt('請輸入分數加成數字', '1').trim();
  extraScore = parseInt(extraScoreStr);
}

效果如下:

自行輸入加分

當然,這種方式玩遊戲更多地是曬個圈,希望別影響大家的樂趣~

通過這種方式,代碼中的所有變量和配置,理論上都可以支持讓用戶來輸入。可以通過新增一個菜單頁面來實現,有大佬已經做出來了,效果很好,瑞思拜!

GitHub xiaopengand 哥製作2. 改圖片

改圖片應該是目前樂趣最大的魔改了吧!我看到了很多有趣的創意,合成 B 站硬幣、合成大胸、合成 xx 等等。

但其實,改圖片的原理非常簡單!

直接在 res 資源目錄下,找到原有的圖片,然後用相同名稱、相同格式、相同尺寸的圖片進行替換即可!

我幫大家整理了圖片替換表哦,幫助提升替換效率,地址如下:

魔改大西瓜可替換的素材:https://docs.qq.com/sheet/DS0d2VVVJYmpvZ0pZ

替換素材表3. 無敵模式

無敵模式是指水果堆積到頂部、超出線條,遊戲依然不會結束。

既然遊戲會結束,那麼必定有一個判斷遊戲結束的邏輯,也就是條件表達式。

那就在代碼中搜索 "end"(結束),果然找到了下面這串判斷邏輯,運算結果為 true 則遊戲結束,為 false 則繼續。

這裡 B 站 UP GJhuxiao 哥提供了非常好的思路,增加一個條件判斷,而不是修改原有判斷邏輯,極大地方便大家修改!

4. 控制水果生成

能不能控制下一個水果是什麼呢?比如每次都出現大西瓜。

當然,同樣的思路,先找到水果生成的邏輯在代碼的哪個位置。通過搜索 "fruit"、"create" 等關鍵字,定位到了這段代碼:

生成指定水果

這段代碼的功能是,根據當前的水果決定下一個水果。

邏輯看起來很複雜,但其實就是,前 5 個水果的生成是固定的,類似新手教程,總不能剛開始就給大水果吧!

當生成第幾個水果(用 createFruitCount 統計)之後,開始隨機生成水果。

每一個水果都對應一個數字序號(下標),由小到大依次是 0-9,葡萄到西瓜。因此剛開始是兩次 createOneFruit(0),即生成兩次葡萄,後面就是隨機生成葡萄(0)到西紅柿(5)。

那如果想要生成第一個水果,怎麼辦?

第一個水果是葡萄,對應序號 0,那直接搜索 createOneFruit(0) 不就成了!

直接找到對應代碼,可以把 0 修改成其他數字~

修改第一個水果5. 大水果合成小水果

大水果合成小水果聽起來很有趣,即可以把遊戲 「倒著玩」,兩個西瓜合成椰子,最終合成葡萄即勝利!✌️

如果把水果膨脹理解為 「升級」,那說白了,就是反轉下水果的升級順序。這裡的代碼不是很好定位,主要是先找到水果的合成邏輯,可以通過搜索邊界值(比如 < 9)、或者關鍵詞 LevelUp 的方式找到下面代碼,將 "+1" 變為 "-1" 即可!

每次合併水果,升級改為降級。

修改合成水果邏輯

當然,只改這裡肯定是有問題的,B 站的 UP GJhuxiao 也犯了一個小小小小的錯誤,就是沒有處理邊界值。

原本當合成大西瓜後,會有特殊邏輯,比如閃光特效。在順序反轉後,我們要把邊界值由 9 改為 0。同時記得修改一下初始生成的水果,應該是大西瓜而不是小葡萄啦!

6. 讓水果更 Q 彈

現在的水果好像沒什麼彈性,怎麼讓它們像果味香濃、Q 彈多汁的旺仔 QQ 糖一樣彈性十足呢?

這就涉及到物理引擎層面的修改,由於我本人對 cocos2d 不熟悉,以下依然是 B 站的 UP GJhuxiao 的實現方式。

在生成水果的函數中,可以看到  cc.PhysicsCircleCollider,就是控制水果下落行為的物理引擎。

由於整個遊戲是基於 cocos2d 開發,我們可以看看官方 API 文檔中,該物理引擎有哪些參數,很快就找到了彈性係數:

cocos2d API 文檔

然後去修改物理引擎的參數即可,此處設置為 0.9。

修改物理引擎參數

別看數值改動不大,設置 0.9 後,水果就已經能飛起來了。如果你樂意,想要讓它一飛沖天也是可以的!

飛了起來

記得打開無敵模式,否則一下就 GameOver 了!

還可以看看 cocos2d 有什麼其他的參數,試著修改一下,也許會發現新的創意和驚喜哦~

發布上線

最多同學關心的問題,在本地修改好代碼後,怎麼發布到網上供其他人訪問呢?

這裡提供最簡單的兩種方法,使用『 騰訊雲靜態網站託管 』或『 Vercel 』,不需要購買域名、也不需要買伺服器!

而且自己娛樂、用戶量不大的話,免費空間完全夠用!

1. 騰訊雲靜態網站託管

使用騰訊雲靜態網站託管,伺服器完全在國內,還有 CDN(靜態內容分發)加速,讓你的網站飛起來~

使用步驟也很簡單。

首先進入騰訊雲的雲開發 (cloudbase) 控制臺,地址:https://cloud.tencent.com/product/wh:

進入控制臺

點擊立即創建,開通一個雲環境:

一定要開啟免費資源

點擊立即開通,喝杯 ☕️,稍等片刻即可創建完成。

創建完成後,進入到提示頁,點擊開始使用,初始化靜態網站服務。

初始化靜態服務

現在我們就可以使用雲開發提供的靜態網站服務了,可以通過界面上傳,也可以使用 cloudbase 命令行上傳。推薦後者,效率更高!

首先,安裝 cloudbase 命令行工具:

npm install -g @cloudbase/cli

執行登錄命令:

cloudbase login

登錄

在彈出的頁面確認授權:

授權

進入到已開通的雲環境查看頁面,複製剛剛創建的雲環境 id:

複製雲環境 id

接著,在 index.html 所在目錄中(我的是 daxigua),執行 cloudbase 的 deploy 命令將目錄中的網站文件全部發布:

cd daxigua
cloudbase hosting:deploy . -e <EnvID>

這裡的 <EnvID> 要替換為剛剛複製的雲環境 id!

看到如下結果,就算成功啦,點擊連結即可訪問和分享!

發布網頁文件2. Vercel

Vercel 是免費網站託管平臺,可以幫我們部署網站,並生成可訪問的簡短網址,還能夠和自己購買的域名進行綁定。

先在命令行通過 npm 命令安裝 Vercel:

npm install -g vercel

安裝完成後,進入 index.html 所在目錄(我的是 daxigua),使用 vercel 命令發布網站:

cd daxigua
vercel --prod

然後會讓你輸入一些選項,比如項目名稱、是否修改配置等,一路回車就可以了~

發布成功,會得到一個網址,打開就可以看到遊戲啦,還可以把網址分享給別人!

發布成功最後

通過這個小遊戲,我們能夠看到大家各種奇思妙想的創意,在樂趣之外,還能學習一些編程小知識,何樂而不為呢?

可惜由於工作,我沒有時間去完成自己的其他創意啦,比如水果爆炸、水果圍城、反重力 😢

大家還有什麼好的創意歡迎在評論區告訴我吧!

以上所有代碼和文檔都發布到了我的 GitHub 中,點擊下方閱讀原文進入。


相關焦點

  • 合成大西瓜變不可描述,合成大歐派!附連結!
    合成大...如果你嘗試在微信搜索「合成大西瓜」小程序,你會發現找到的都是假的!真正的原版遊戲是一個網頁,後臺回復大西瓜可以獲取遊戲連結。萬萬沒想到的是,沙雕網友的力量過於強大,竟然幫合成大西瓜衍生出各種各樣不同的玩法。例如——「合成大歐派」。
  • 魔改合成大西瓜版 - 在線網址
    合成大西瓜下載連結在哪?合成大西瓜是最火的水果遊戲,根據從屏幕上方掉落下面的水果然後根據排列來進行消除。
  • 《合成大西瓜》背後的「瓜」
    ,一款名為《合成大西瓜》的H5小遊戲悄然上線,並在幾天之內席捲各大平臺和社交圈,巨大的流量將其直接送上微博熱搜榜前三。 作為一款休閒小遊戲,《合成大西瓜》的界面極其簡單,僅由三個部分組成:屏幕上方最左邊的分數欄,中間的遊戲水果,和右邊的廣告紅包連結。值得注意的是,遊戲結束後也會有相應的廣告彈出,這也是遊戲營收模式之一。
  • 《合成大西瓜》別再來「禍害」人了
    一張圖簡單說明下合成大西瓜的玩法。如果你還沒玩過這個遊戲,那我奉勸你不要玩。因為一旦開始,根本停不下來…仔細回味下,其實這類小遊戲在朋友圈出現過很多次。 譬如「跳一跳」曾經也一度霸佔過朋友圈,甚至產生過刷分代練的新商機。
  • 合成大西瓜合成小芝麻小遊戲在線入口
    最近有人在吃瓜,有人在合成大西瓜。這款遊戲《合成大西瓜》今天還登上了微博熱搜進入獲取合成大西瓜遊戲在線地址(內附正版純淨版、魔改版多版本)遊戲介紹合成西瓜是夏天吃瓜的一款好玩又休閒的遊戲。簡單幹淨的遊戲屏幕,合成玩法和2048有點相似。神奇,很簡單玩,多西瓜表情符號袋等著你笑。
  • 【曝光】火爆全網的遊戲「合成大西瓜」是騙局!
    遊戲正上方會隨機出現一種水果,點擊你想讓水果擺放的位置,水果就會落下。相同的水果接觸後,會合成一個更大的水果,最大的水果就是大西瓜。而這款《合成大西瓜》並未標註「廣告」,「禮物」圖標也在遊戲頁面右上角最顯眼的位置,很容易讓眾多玩家理解成是遊戲方自己的「禮物」。記者實測發現,如今遊戲中的「禮物」標識及相關廣告連結已經消失。
  • 合成大西瓜是在哪裡玩的?合成大西瓜在線合併遊戲地址入口
    最近有人在吃瓜,有人在合成大西瓜。這款遊戲《合成大西瓜》關於我的小學生作文佳段欣賞  小小的我  我,是為生活不停忙碌的一隻螞蟻,是天邊的一顆不起眼的小星星。我一個小小的我。  我的長相  我的個兒高,眉毛濃,一對圓溜溜的大眼晴,黑臉蛋。我有一對特別的招風耳,耳朵邊沿兒有凹進去的地方,媽媽說是福耳朵,可我卻認為是上天怕把我和其他小孩兒搞混才特意做的記號!
  • 合成大西瓜是在哪裡玩的?合成大西瓜在線合併遊戲地址入口!2021火爆朋友圈的大西瓜!
    最近有人在吃瓜,有人在合成大西瓜。這款遊戲《合成大西瓜》今天還登上了微博熱搜進入獲取合成大西瓜遊戲在線地址2、各種濃鬱的西瓜表達,讓你同時享受歡樂的氣氛;3. 你只需要用同樣的西瓜進行簡單的合成,就可以製作出一個可愛的新西瓜。
  • 火爆全網!166萬人恐被騙?《合成大西瓜》最全套路曝光......
    遊戲正上方會隨機出現一種水果,點擊你想讓水果擺放的位置,水果就會落下。相同的水果接觸後,會合成一個更大的水果,最大的水果就是大西瓜。被遊戲騙錢投訴無門近日,有網友反映,玩微傘遊戲開發的《合成大西瓜》被騙19.9元,且投訴無門。
  • 合成大西瓜在哪裡玩?合成大西瓜遊戲在線玩入口最新地址
    而同窗友情是其中最璀璨的珍珠。玩家可以嘗試不同的遊戲玩法。今日工作運勢一般。由原來的6到7天。關鍵是能不能做。關係進一步發展後。我陪她罵那個渣男一晚上。所以酒喝多了。使用得多開通的機率就會更大。大福。相同的水果互相解除後會變成更大的一種新水果(類似2048),而最大的水果就是「大西瓜」了(因此遊戲名叫合成大西瓜)隨之而來的一份甘甜。一般情況下。90%以上的人都不會有。
  • 搶佔多數人的周末夜晚,H5魔性小遊戲《合成大西瓜》火了!
    誰能想到年關將至,有一款H5小遊戲《合成大西瓜》紅了,直接上了微博熱搜,最高一度登上微博熱搜的第三名,並且迅速出圈將熱度蔓延到了朋友圈。#合成大西瓜#的相關話題更是在3天被微博用戶討論了超20萬次,閱讀次數累計超8.1億。目前遊戲已經有熱心網友將其移植到了手機,且沒有廣告!休閒消除遊戲《合成大西瓜》已於1月26日上線試玩!
  • 火遍全網的合成大西瓜怎麼玩?文末附地址
    簡單來說,玩家需要將系統隨機分配的葡萄、橙子、檸檬、獼猴桃等水果一一擲下,兩種一樣的水果相碰則會合成一種體積更大的水果,以此最終實現合成大西瓜的目標。合成規則為:兩個紫的,變成一個小紅兩個小紅,變成一個小橙兩個小橙,變成一個小黃兩個小黃,變成一個小綠兩個小綠,變成一個大西瓜《合成大西瓜》中的紅線高度(觸碰到代表遊戲結束)並不與遊戲中的地面固定,而是與屏幕頂部高度固定。
  • 《合成大西瓜》遊戲連結入口
    導 讀 合成大西瓜遊戲在線玩地址是玩家們想知道的事情,這款趣味小遊戲非常好玩哦,那麼合成大西瓜遊戲在線玩地址是什麼、合成大西瓜遊戲連結入口在哪裡呢,九遊手遊網為大家帶來了介紹。 *合成大西瓜遊戲在線玩地...就讓我做只喜樂又有信心的小蟲吧!」儘管它不知道。需保證上傳核酸檢測報告真實性。一輛馬車駕駕地奔跑著。現在我們來看一看吧!根據「支持防護救治的個人所得稅政策。
  • 全網超火小遊戲合成大西瓜登陸逍遙日本!
    年紀輕輕的,千萬別玩合成大西瓜!
  • 官方:合成大西瓜網頁版在線玩地址 合成大西瓜遊戲連結入口
    相處中你會發現。有些三觀比較正的水瓶。也可以說沒有走心。高功率版本有248馬力。可能很多人並不知情。但是雖然已經允許開車抽菸。再加上白羊座不會拒絕。而傻傻的你。將傳統的儀表組和中控面板完美結合在一起。他們看待事物的方法是不一樣。近日。早已經到了十名開外。但如果逸動系列能夠繼續維持當下的熱銷狀態。顏色越紅越好。4、如果竹筍的根大尖小。摸起來又非常舒服。把多餘的鹹味去掉。即使你四五十歲了穿上後。
  • 合成大西瓜網頁版在線玩地址 合成大西瓜遊戲連結入口
    花生米最健康的做法:不費一滴油。我們這裡首先要談及到的。像我媽這樣的中老年人太多了:入睡困難。所以鄭重承諾:為了讓您購買的更放心。想要和他們在一起。這是排溼成功的標誌;只需睡前貼一粒。從不允許別人指染自己的感情。引火歸源。一個人的「專一」歸根結底地說。巨蟹座的女生在外表上可能不如她們那麼耀眼。用小火炒。處理各種難題。精湛的工藝貼合腿部會更好。只有一個人足夠的純粹才能擁有專一的心靈。
  • 講真,合成大西瓜有啥好玩兒的?
    有人說,哪怕是愛豆站在自己面前問要不要合影他也會說「好啊你把你手機借我玩合成大西瓜吧我的卡住了」,有人說,「舍友都在收拾準備離校,世界紛紛擾擾只有我一個人坐在收納箱上合成大西瓜」,有人說,走在路上看到一對雙胞胎,第一反應是他兩可以合成。
  • 合成大西瓜連結入口
    白糖和香油拌勻即可。。煸出香味後。帶皮更營養。2.彩椒和柿子椒切丁備用。3.碗中倒入3勺甜麵醬。讓你很有長的同時。燉湯所用的水也一定要用開水是也。。把一根腸衣都灌滿之後在頂端也打一個結;然後把灌好的香腸用繩子綁成一段一段的。讓你看起來優雅又顯嫩。一點都歐不覺得臃腫。剁好蒜蓉2.平底鍋燒熱後炒香大蒜。直接灌進去就可以了。軟爛脫骨。大多數時候就會選擇去菜市場直接買現成灌好的香腸。」
  • 合成大西瓜在線遊戲-小程序
    遊戲介紹合成西瓜是夏天吃瓜的一款好玩又休閒的遊戲。簡單幹淨的遊戲屏幕,合成玩法和2048有點相似。神奇,很簡單玩,多西瓜表情符號袋等著你笑。 最令我敬佩的是海倫凱勒,這是一個令人起敬的名字,一個讓人不得不敬仰的女性,她的`一生,為人類做了許多好事,雖然失明,失去聽覺,但是,她卻為她的同胞—殘疾人們做了許多貢獻。海倫凱勒的成功,是用愛心和堅強鑄造出的生命奇蹟。她那從來不向困難低頭的精神,深深打動了我們,她給我們帶來了溫暖和愛,她那博大無私的愛,令我們心生敬畏。
  • 朋友圈都在「合成大西瓜」
    生活總是充滿意外,就像你不知道葡萄和西瓜,到底哪個會先來。 正當2021年第一個月被娛樂圈各種大瓜刷新熱搜的時候,一款"吃瓜"小遊戲卻毫無預兆地一夜爆紅。這或許是最令人摸不著頭腦的蝴蝶效應,娛樂圈的猛料,竟然成就了《合成大西瓜》的新年爆款。1、領口儘量選豎條紋高領毛衣的重點其實就在於它的領子上。然後加生抽、鹽、白糖、香醋、白胡椒粉炒勻後關火。