【校園生活】0基礎記錄遊戲開發#12


3樓貓 發佈時間:2024-01-27 09:39:51 作者:依卞 Language

好久不見,這幾天有點忙,學的零零碎碎,有點少了,所以想今天統一發一期,主要是期間身體也不舒服只能躺著睡覺休息了(其實大部分原因是懶了)

【校園生活】0基礎記錄遊戲開發#12-第0張

非常懶的繪畫,直接摸了一個非人類(確實這個比較簡單)


接下來是unity的學習時間:

其實我已經跟著課程學完了pvz的課程內容,但是課程只做了一個關卡,所以接下來的計劃是自己深究一下沒教學的pvz內容,看看自己能不能實現出來,一個從0到1的過程,我覺得挺重要的

【校園生活】0基礎記錄遊戲開發#12-第1張

封面部分

遊戲的菜單,封面這些東西需要新建立一個場景,跟原本的遊戲場景分開來創作,再通過“按鈕”的功能來實現場景的轉換(類似於PPT的超鏈接)

【校園生活】0基礎記錄遊戲開發#12-第2張

場景跳轉

如上代碼就是實現按鈕來“點擊跳轉到PPT下一頁”功能的函數,在實現這個函數之前需要將當前場景加入到這個項目組中,來實現一整個組別的互通。

那麼接下來我們開始完善一下這個主菜單的內容,舉例完成一個用戶名的功能

【校園生活】0基礎記錄遊戲開發#12-第3張

更改用戶名

當點擊到“更改用戶名”這個牌子的時候會觸發這個按鈕,然後出現這樣一個界面。這個界面是我們用不同UI來組件而成的,在兩張圖片上疊加一個文字的UI框,讓玩家可以在上面輸入自己的名字,然後保存在牌子上。

【校園生活】0基礎記錄遊戲開發#12-第4張

名字輸入

輸入用戶名後,需要通過代碼的數組(List)來儲存這個string的變量(string可以支持中文),再通過text組件的代碼返回到用戶界面上。

【校園生活】0基礎記錄遊戲開發#12-第5張

字體設置與位置關係

【校園生活】0基礎記錄遊戲開發#12-第6張

用戶名

完成效果如上

【校園生活】0基礎記錄遊戲開發#12-第7張

name 代碼

這個功能大體分成三個部分:更改名字,保存名字,更新名字。

在初始階段可以設置一個默認的用戶名,並對玩家寫下的用戶名加以保存,在更新時,用保存的字體來替換原本的字體即可。

【校園生活】0基礎記錄遊戲開發#12-第8張

最終效果如上

(別問為什麼花袋子上沒有選項,退出那幾個字,因為圖上原本就沒有我就懶得加了)

做完上述功能以後,我們就可以通過這個菜單來管理遊戲關卡的分佈,通過點擊不同的按鈕來進入不同的關卡(雖然現在我們只有一個關卡就是了)

接下來,在課程結課之後,我選擇了自己動手來完善一下這個遊戲了,比如說植物,課程只教了兩種植物,分別是向日葵和豌豆射手,所以按照之前的知識,我準備動手做一個新的植物

【校園生活】0基礎記錄遊戲開發#12-第9張

噔噔噔噔我找到了這個,剛好櫻桃炸彈屬於道具類型的植物,是課程裡面沒有提出來的,可以挑戰一下自己。

按照原本的思路,先找到這張卡的UI,並將亮,暗,cd三個圖疊加起來,設置好透明度遮罩,通過代碼card類來管理這張卡,實現三種形態的互相轉換。

【校園生活】0基礎記錄遊戲開發#12-第10張

同時記得需要再card類中註冊一下櫻桃炸彈的標籤(忘了這一步我找了好久才發現問題出在哪)

因為這部分代碼之前已經是完成的了,不需要寫新代碼,只需要簡單的拖拽綁定好各個部分,把之間的關係理清楚就行。

接下來是種植功能

但是

我找了很久都沒找到櫻桃炸彈的植物圖片素材你們做素材能不能做全啊喂

所以,我看著堅果那張憨厚的笑臉,做了一個違背祖宗的決定

【校園生活】0基礎記錄遊戲開發#12-第11張

櫻桃炸彈

這兩個都能爆炸,應該是同一個物種對吧,所以兩個都可以一起用的沒什麼問題

好,來還原一下櫻桃炸彈的效果:3*3範圍內的爆炸造成能夠讓大部分殭屍一擊必死的傷害

所以我們可以通過碰撞器來對殭屍來進行傷害判定,將傷害設置一個較高的數值,就可以完成這個傷害判定。

同時我們需要通過動畫功能將這個“櫻桃炸彈”以原點為中心放大至3*3的大小,再讓這個櫻桃炸彈消失就好了。

同時將代碼接上接上plant類,來實現種植功能

理論完畢開始實踐:

【校園生活】0基礎記錄遊戲開發#12-第12張

放大的櫻桃炸彈

為什麼感覺放大以後這麼憨,而且消失的時機好像怎麼都不對啊

不過這玩意是真的大殺器,兩個這麼大的堅果(劃掉)不爆的櫻桃炸彈,殭屍一碰就死,可以防守全部路線了

【校園生活】0基礎記錄遊戲開發#12-第13張

加入特效動畫

所以為什麼特效動畫都有為什麼沒有植物模型啊

這邊原計劃使用協同的方法來實現先後順序,先放大1s後再刪除櫻桃炸彈,再釋放這個特效動畫。(當然現在也是用這個實現的)

【校園生活】0基礎記錄遊戲開發#12-第14張

櫻桃炸彈

具體代碼如上(原諒我的英語水平和取名字的水平)我們設置了這個櫻桃炸彈的傷害數值為500

(普通殭屍100血),並設定為當觸碰到“zombie”tag的時候才會有實質性傷害,這部分代碼與“豌豆”有些相似,基本上可以套用,下面定義了一個協同函數,讓櫻桃炸彈按照順序執行消除後再生成一個特效動畫的實例。這個協同函數在植物處於激活狀態(種植後)才會發生效果。

那麼如上,櫻桃炸彈已經“開發”完畢復現出來了(忽略那個植物模型)之後我也會繼續努力去嘗試復現其他植物或者其他功能

【校園生活】0基礎記錄遊戲開發#12-第15張

© 2022 3樓貓 下載APP 站點地圖 廣告合作:asmrly666@gmail.com