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這個東西 先把引擎這倆字兒拋開。一般情況下,會有你提交給伺服器東西,伺服器存入到資料庫和伺服器返回給使用者資料這兩個操作。模板是用在後面這個返回給使用者這個操作。你總不可...
成長思考記
大三下開學來的時間是非常充裕的,考研 保研 出國,主意已定,所有的東西彷彿瞬間改變了意義。於是,我又有了時間去讀書,去思考,去成長。和同學談 忍經 沒有共鳴。他們剛聽到這書名字就堅決反對,為什麼要忍!要的就是個性!呵,無語,三字以蔽之 年輕人!許多人不讀此書,可能讓人粗略想到的是 忍氣吞聲 之類的意...