日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

从零点五开始用Unity做半个2D战棋小游戏(一)

發布時間:2024/9/3 编程问答 60 豆豆
生活随笔 收集整理的這篇文章主要介紹了 从零点五开始用Unity做半个2D战棋小游戏(一) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

好久不見。

這是第17篇與游戲開發有關的文章。

也是“從零點五開始系列”第二輯的開始。

| 寫在最前

這次想要做的一個小游戲,或者說一個小Demo,其實是一個簡單且傳統的戰棋戰斗場景。初步的設計是:在2D世界里創建一張由六邊形地塊組成的戰斗地圖,敵我雙方依據體力在地圖上輪流行動并向對方發動攻擊,先消滅掉所有敵人的一方將獲得勝利。

這一輯將比上一輯的內容更簡單,但完成后會是一個功能較完整且可以玩耍的Demo。

我使用的Unity版本是2018.2.7,但是其實并沒有用到2018的任何新功能。


預計將分為以下幾篇:

1、創建戰場

根據預定尺寸生成戰場地圖,并隨機一些障礙物。

2、添加對戰雙方

向戰場中添加作戰單位,作戰單位可被點選,并進行移動。

3、戰場邏輯

作戰雙方按照順序依次行動,可進行移動、攻擊。

4、添加戰場UI

添加可以隨時顯示戰況的Hud、為作戰單位添加血條等。

5、擴展作戰單位

豐富作戰單位的類型,添加職業,并加入若干不同類型的技能。

6、擴展戰場地圖

豐富戰場地圖,加入地形及道具等元素。

7、規范戰斗配置

可以通過規范化的數據結構配置戰場、職業、技能、道具等。


本次的主題是創建戰場。

| 目標

生成一個規定尺寸的戰場,戰場上的格子均為六邊形,并且暫定兩種格子類型:普通格子和障礙格子。

| 在開始之前我做了以下事情

1.創建了新的工程。

2.新建場景并保存在場景文件夾下。

3.刪除默認創建的平行光,調整場景光照設置,棄用了天空盒等。

4.將相機調整為正交相機。

因為是從零點五開始系列,認為讀者有一定的Unity引擎使用基礎,就不對這些操作進行介紹了。

| 創建戰場地圖

我沒有采用把數據和顯示捆綁在一起的做法,而是將數據和顯示分離。

我的思路是用一個戰斗創建器來創建戰斗,一場完整的戰斗信息至少應包含地圖及對戰雙方的信息。而Unity搭建的戰斗場景則可以理解為一場戰斗的顯示器。

| 數據部分(主要)

戰斗數據:地圖尺寸,包含所有格子的二維數組。

格子數據:格子類型,所在行列,所在空間坐標。

| 顯示部分(主要)

戰場:一個用于組織所有格子對象的節點對象。

格子對象:一個能顯示六邊形瓦片的2D渲染器,并根據格子類型改變顏色。

當需要將戰斗表現出來時,需要將以上數據裝入一個用于顯示的“戰場”,這個戰場就是在Unity世界里創建的。

| 在Unity中創建戰場

目前戰場的結構還非常簡單,只需要一個組織格子單位的節點。

| 創建格子

創建一個格子腳本,并掛在一個新創建的空對象上。

為這個二手手游賬號買賣添加一個子對象,稱之為瓦片,用來顯示一個六邊形。

因為這里我只想做一個2D的Demo,因此我們只需要一個SpriteRenderer組件即可。

使用預先準備的一張六邊形圖片作為地塊顯示,一個格子對象就做好了。

為了區分普通和障礙,暫定普通格子為白色,障礙格子為灰色。

戰場加載后節點的狀態。

| 部分代碼

鋪設普通格子

隨機放一些障礙格子

戰場根據格子信息,顯示格子

格子根據不同類型顯示不同顏色

初始隨機多張地圖,并切換查看。


| 寫在最后

至此,難度最低的第一篇已經完成。

感謝您能讀到這里。

愿不忘初心。

下回見。

與50位技術專家面對面20年技術見證,附贈技術全景圖

總結

以上是生活随笔為你收集整理的从零点五开始用Unity做半个2D战棋小游戏(一)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。