五月天青色头像情侣网名,国产亚洲av片在线观看18女人,黑人巨茎大战俄罗斯美女,扒下她的小内裤打屁股

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

用Unity簡單實現(xiàn)合成大西瓜

2021-01-30 23:11 作者:AIPC沒有I  | 我要投稿


最近一款名叫“合成大西瓜”的游戲風靡空間,大家在真香之后都笑稱自己為“西瓜人”,隨后各種惡搞大西瓜的趣圖、大西瓜bot更是接踵而至,甚至誕生了“合成大西瓜護肝版”、“合成小葡萄”、“合成大國家”等一系列衍生體......本文將主要探討如何用Unity做一個“合成大西瓜”。

第一步:素材搜集

素材,或者說貼圖展現(xiàn)了水果們的樣貌。在這里如果把貼圖替換成其他元素,比如說歐【和】派【諧】啦、波蘭球啦一類的我們就能得到合成大國家等等的惡搞游戲。

這里為了簡單(其實是我不會畫)表現(xiàn)一下水果,筆者畫了幾個球,如圖1:

從左到右分別表示的是葡萄、小可愛、橘子、檸檬、獼猴桃、西紅柿、半個西瓜和西瓜。游戲規(guī)則是兩個等級相同的水果可以合成更高一級的水果,合成出西瓜就算獲得游戲勝利。

這里在合成路線上省略了椰子、土豆等中間部分的水果,因為道理是一樣的嘛就不畫了(說到底還是因為懶惰

第二步:UI

筆者簡單設計了一個UI,如圖2:

可以看到這個UI主要由三個部分組成。第一個部分是頂端的白色圖片,這張圖片將用于顯示下一個出現(xiàn)的水果的圖案;第二部分是左上角的分數(shù),用來統(tǒng)計玩家通過合成獲得的分數(shù);第三部分則是左部、右部和底端的邊界,都加上了碰撞器,防止水果掉出界面。

這兩部分準備好以后就可以開始構(gòu)思程序了

第三步:編程與實現(xiàn)

基本思路:給每個水果加上2D剛體和2D球狀碰撞器,在鼠標點擊的位置的x方向上實例化出對應的“下一個水果”。在水果的碰撞事件中兩個水果被摧毀的同時生成高等級的水果,得分增加。

所以第一步是讓對應的下一個水果實例化在鼠標位置的x方向上。因為涉及到水果的摧毀,所以不能直接實例化水果本體,否則會導致元物體被摧毀而無法繼續(xù)實例化。所以思路是創(chuàng)建一個元物體的備份,在備份上進行實例化和摧毀的操作。

可以從圖3和圖4看到,帶public訪問修飾符的物體就是水果的本體,而下方隱式的物體則是相應水果的備份體。在鼠標點擊后,從已經(jīng)生成的隨機數(shù)中選擇出對應的水果并實例化在鼠標的世界坐標的x方向上。這里的5.0f是一個固定的y坐標,能夠獲得水果從屏幕頂端落下的效果。

第二步,實現(xiàn)相同水果撞擊后摧毀并“合成”出更高一級的水果并加分,以葡萄為例(圖5):

這里一共有四個操作:記錄碰撞的布爾值變成true、積分增加10分、記錄碰撞的位置和摧毀兩個碰撞體。

你會注意到我沒有直接在碰撞事件里生成下一等級的物體,而是將一個記錄碰撞的布爾值改成了true。這是因為兩個相互碰撞的水果都帶有碰撞器,所以實際上這個方法是被執(zhí)行了兩次,執(zhí)行的主體分別是碰撞的雙方。如果在這個方法里直接實例化下一等級的水果的話,我們將直接得到兩個緊貼在一塊的水果,并直接到達合成路線的終點——大西瓜。

所以在這里采用了設布爾值的方式,在另一個類的LateUpdate方法里對布爾值進行檢測并實例化下一等級的水果就能避免生成兩個,如圖6。

最后一步的隨機生成的“下一個水果”,這個比較簡單,就是用一個隨機數(shù)進行選擇就可以了(圖7):

以上就是一些基本的思路。這個大概200行代碼的重制版的“合成大西瓜”已經(jīng)能實現(xiàn)原版的大部分功能,但是還缺少了失敗判定功能(可以用觸發(fā)器+FixedUpdate計時(懶得做了,反正我又不會輸嘛))和一些激動人心(大霧)的音效,但是效果還是不如原版的好嘞~

? ? ? ? ? ? ? ? ?作者:時光(逸仙工作室)

? ? ? ? ? ? ? ? ?審核:白煙

加入我們

APC科普編輯部招新啟事

A.P.C.總部招生群:1027526691

格物社?科普平臺:6059230


用Unity簡單實現(xiàn)合成大西瓜的評論 (共 條)

分享到微博請遵守國家法律
镇安县| 咸丰县| 天台县| 手机| 瓮安县| 西城区| 巫溪县| 宁晋县| 乌鲁木齐县| 屏东县| 景洪市| 额敏县| 乌审旗| 桐柏县| 咸阳市| 大港区| 榆中县| 淄博市| 和静县| 洪洞县| 和平区| 明溪县| 湖口县| 茶陵县| 龙山县| 景德镇市| 鹰潭市| 南宁市| 永德县| 安陆市| 台山市| 屯昌县| 山阴县| 通州市| 同江市| 唐山市| 雷山县| 新昌县| 安乡县| 榆社县| 石台县|