團隊rpg成長記 二

2021-06-25 20:19:03 字數 3580 閱讀 9323

9月19日

第二天,第一次體驗這種帶乙個小團隊的感覺,各種大小不一的錯誤,,好多東西都是需要去想去提前做準備的,感覺這次團隊做東西真的是一次很好的體驗,雖然沒有真正體驗過公司中的開發是什麼樣子,但是也知道了,在寫**的時候是需要去考慮別人呼叫的,不可以只是想著自己,和以前自己悶頭寫**的感覺完全不一樣。不過卻很享受這種每天忙碌,每天寫**的感覺。哎。。這完全跑題了。。下面來正題吧!

按照之前的想法,我想把一些公用的需要去呼叫的屬性都寫在乙個公共指令碼裡,

#region 角色屬性

public static int hero_hp=100; //角色血量

public static int hero_nowhp=100;//當前血量

public static int hero_mp = 20;//角色藍條

public static int hero_nowmp = 20;//角色當前藍條

public static float hero_speed = 1f;//角色速度

public static float hero_attck = 2f;//攻擊力

public static float hero_def = 1f;//防禦力

public static int hero_max_exp = 10;//公升級所需經驗

public static int hero_exp = 0;//當前經驗

public static float hero_attck_interval = 1f;//角色攻擊間隔

public static float hero_attck_distance = 2f;//角色近身攻擊距離

public static float hero_skills_distance = 5f;//角色技能攻擊距離

public static bool hero_isdead = false;//角色是否死亡

#endregion

這個是人物屬性設為靜態的這樣在其他的指令碼中可以直接呼叫了。不太清楚這樣寫是否對,(一直都聽說rpg是要有全域性指令碼啊,還有一些其他的,也沒見過什麼rpg的專案,所以就先按照自己的想法來寫吧)

本來這裡還打算寫怪物的屬性。後來發現多個怪物的時候這個指令碼的屬性就會被各種覆蓋,就變成所有怪物的屬性值都一樣了。就沒有寫

在這裡我主要是寫怪物指令碼來的,所以就先放上怪物指令碼吧。至於角色指令碼,等我看看隊友寫完的指令碼後理解了我在放上來哈,,應該不會太久的。

#region 屬性

public string enemy_name = "";//怪物名字

public int enemy_level;//怪物等級

public int enemy_hp;//怪物血量

public int enemy_nowhp;//怪物當前血量

public float enemy_speed;//怪物速度

public float enemy_rotate;//怪物旋轉速度

public float enemy_attck;//攻擊力

public float enemy_def;//怪物防禦力

public float enemy_distance;//怪物自身領地範圍

public float enemy_attck_interval;//怪物攻擊間隔

public float enemy_attck_distance;//怪物近身攻擊距離

public float enemy_skills_distance;//怪物遠端攻擊距離

public bool isdead=false;//判斷是否死亡

public int idlestart = 0;//是否閒置狀態

public float idle_time = -1;//呼叫動畫時間

public bool is_idle = false;//是否是空閒狀態

//防止已經到角色附近後還是走路的動畫

public bool enemy_walk = false;

#endregion

#region 物件

public animation m_animation;//動畫

public transform m_transform;

public gameobject m_player;//獲取要追蹤的物件

#endregion

#region 動畫

//陣列中前面4個是閒置的時候放的動畫,之後按順序,跑,攻擊,死亡,攻擊,發呆

private string enemy_animation = ;

#endregion

這裡說下,本來我是打算直接按照每個名字定義乙個string型別的變數,但是發現找到的模型裡面的每個模型的動畫的名字都不一樣,這樣如果還用這個方式要麼重寫的時候每個名字改,要麼就是修改動畫的名字,最後我就打算用陣列來寫,這樣會省一些工作量,大家如果動畫名稱一樣的就直接用string型別定義就好了。

/// /// 名字,等級,血量,防禦,攻擊力,移動速度,怪物旋轉速度,攻擊間距,普通攻擊距離,技能攻擊距離,動畫

///

///

///

///

///

///

///

///

///

///

///

protected void setattribute(string name, int level, int hp, int defens, float attck, float speed, float rotate, float interval, float attck_distance, float skills_distance, float m_distance, string m_ani)

protected virtual void iint()

下面的是我定義的乙個虛方法,上面的方法是為了讓虛方法被重寫的時候可以修改怪物的各種屬性,好生成不同攻擊,等級之類的怪物的。

void start () 

else

if (is_idle)

switch (idlestart)

}else}}

else

}}

這裡是我做的乙個怪物ai的功能,其實看看感覺很簡單的,沒什麼東西,,現在因為時間比較勁,就先正常能實現功能就好,後面有時間會優化的,會新增怪物不會走出規定的範圍的,

**中 

vector3.distance(m_transform.position, m_player.transform.position)
這個是獲取本身到玩家的距離,我是通過這個來判斷玩家是否會進入怪物設定的範圍值,

void attack() 

else }}

}

我相信我們會完成這個,雖說是乙個我們以後找工作的專案,但是這也是我們所有的想法,心血,所以一定會完成的。加油!

團隊rpg成長記

本想接著按照想法把跑酷做完的,不過沒想到這個時候課程就已經結束了,也要求我們組成團隊,去完成乙個作品,最後組成了乙個4人的小隊,可能因為我臉皮厚一些或者以前也製作過這個型別的遊戲吧 雖然最後太監了 我成為了這個小隊的隊長,不清楚最後的成果會是什麼樣,但是我相信我們的團隊最後是會成功的。在這裡我就記錄...

flask成長記(二)

蝸牛真的是蝸牛啊,就jinja2這麼個東西也抽象的暫且理解不了。不過也真是,你弄那麼複雜幹什麼啊?說的裝逼的。這麼理解jinja2這個東西 先把引擎這倆字兒拋開。一般情況下,會有你提交給伺服器東西,伺服器存入到資料庫和伺服器返回給使用者資料這兩個操作。模板是用在後面這個返回給使用者這個操作。你總不可...

成長思考記

大三下開學來的時間是非常充裕的,考研 保研 出國,主意已定,所有的東西彷彿瞬間改變了意義。於是,我又有了時間去讀書,去思考,去成長。和同學談 忍經 沒有共鳴。他們剛聽到這書名字就堅決反對,為什麼要忍!要的就是個性!呵,無語,三字以蔽之 年輕人!許多人不讀此書,可能讓人粗略想到的是 忍氣吞聲 之類的意...