角色基礎屬性系統開發
在大多數arpg遊戲裡面有很多角色,每個角色都有自己的一些基礎屬性,根據我以往的遊戲體驗經驗,我來總結一下:
所有角色共有的狀態資訊:
1.當前生命值
2.最大生命值
3.當前魔法值
4.最大魔法值
5.傷害基數
6.攻擊速度
7.攻擊距離
8.受傷
9.死亡
不管主角還是遊戲中的一些怪物,都擁有以上的這些狀態,那我們可以提取乙個共同的父類,就叫角色狀態類characterstatus,主角和其他怪物可能還有其他的一些屬性和行為,他們可以繼承我們這個共有的父類,新增的一些屬性和行為可以在自己的類裡面擴充套件。
那我們現在寫一下這個characterstatus類。
using
system.collections;
using
system.collections.generic;
using
unityengine;
//用命名空間的好處是方便**模組的管理
namespace
arpg.character
} ///
///死亡
//////
殺手public
virtual
void
dead(
gameobject
killer)
#endregion }
} 玩家除了擁有以上的屬性和行為,還擁有一些別的屬性和行為,總結一下有:
1.防禦
2.等級
3.力量
4.智力
5.經驗值
6.最大經驗值
7.公升級
8.收集經驗值
我把玩家的狀態類叫playerstatus,那根據以上資訊,我們把玩家狀態的屬性和行為也寫一下吧!
using
system.collections;
using
system.collections.generic;
using
unityengine;
namespace
arpg.character
//收集經驗值
public
void
collectexp(
intexp)
///
///受傷方法,因為玩家有防禦屬性,所以受傷方法得重寫
//////
///殺手
public
override
void
ondamage(
intdamage,
gameobject
killer)
if(hp <= 0)
} public
override
void
dead(
gameobject
killer)
} }
經過分析,我發現小怪除了共同的狀態屬性之外,也有自己獨特的狀態屬性和行為,如下:
1.防禦值
2.躲避值
3.死亡後貢獻的經驗值
小怪狀態類就定義為monsterstatus,那我把它的類寫一下
using
system.collections;
using
system.collections.generic;
using
unityengine;
namespace
arpg.character
if(hp <= 0)
} ///
///重寫死亡的方法,小怪死後給玩家提供經驗值
//////
public
override
void
dead(
gameobject
killer)
gameobject
.destroy(
this
.gameobject, 3f); }
} }案例只是最開始,需求還不太全時的開發,隨著專案進行的深度,會在現在的基礎上進行二次開發,還會新增一些特定的需求,並會在現有的**上新增功能**,甚至重構。文中涉及的一些內容或許不全,期待有心人的交流!!!
c欄位和屬性的區別 遊戲角色屬性公式更新
屬性計算 在遊戲之中,我們操縱的角色和一些非玩家角色都會有相關的數值描述,例如血量 等級 攻擊 防禦等等,下面就是暗黑破壞神3的乙個角色的屬性面板。事實上,乙個角色的屬性描述的幾十個欄位並不是毫無邏輯關係的,同時完整的屬性關係之間可能還有其他的面板不可見屬性作為中間變數存在。所有可見不可見的變數會組...
input不可編輯屬性 遊戲角色屬性公式更新
屬性計算 在遊戲之中,我們操縱的角色和一些非玩家角色都會有相關的數值描述,例如血量 等級 攻擊 防禦等等,下面就是暗黑破壞神3的乙個角色的屬性面板。事實上,乙個角色的屬性描述的幾十個欄位並不是毫無邏輯關係的,同時完整的屬性關係之間可能還有其他的面板不可見屬性作為中間變數存在。所有可見不可見的變數會組...
遊戲開發基礎
任何遊戲都需要一些基本框架,用於實現抽象化,並減輕與底層作業系統互動的痛苦。通常這一框架分成幾個模組 用於建立乙個視窗和處理一些操作,如關閉視窗 暫停或恢復android應用程式等。與視窗管理模組相關聯,用於跟蹤使用者的輸入,如觸控事件 按鍵事件 加速計讀取等。android系統中,這些輸入會被排程...