為了避免每次發射的子彈和敵人都要例項化乙個新的物件,使用物件池將物件迴圈利用起來。使用物件池,將使用過的子彈和敵人、隕石反啟用,而不是將這些預製體destroy,當再次需要被例項化的時候,將他們啟用就可以迴圈使用。
public class objectlist
public objectlist()
public gameobject getgameobject(string name)
}gameobject gameobject = gameobject.instantiate(prefabmanager.getprefab(name));
_objectlist.add(gameobject);
return gameobject;
}}
public class prefabmanager
public static gameobject getprefab(string name)
gameobject prefab = resources.load(name);
if (prefab==null)
return prefab;
}}
public class objectpool
return _objectpool;}}
private static objectlist getobjectlist(string name)
objectlist objectlist = new objectlist();
_objectpool.add(name, objectlist);
return objectlist;
}public static gameobject getgameobject(string name)
public static void callback(gameobject gameobject)
}
unity之飛機大戰
歡迎來到 unity 學習 unity 培訓 unity 企業培訓教育專區,這裡有很多 u3d資源 u3du3d 教程 u3d 常見問題 u3d專案原始碼,我們致力於打造業內 unity3d 培訓 學習第一品牌。今天我想和大家分享的是乙個飛機大戰的專案。這是乙個比較綜合的專案。首先,我們要想的是玩家...
Unity 飛機大戰 一
一 遊戲背景 建立兩個quad用來做背景,主相機設定為正交鏡頭。給背景新增指令碼讓其向下運動,使得看上去飛機在往前飛。並且背景能夠一直迴圈。void groundmove 二 玩家飛機運動 限制玩家飛機不飛出遊戲邊界。void clampposition 飛機左右移動時,飛機會左右傾斜 void r...
unity之飛機大戰總結
到今天為止 將飛機大戰基本做的差不多了 今天來總結一下 用到了什麼功能和知識點。我一共總結了這麼以下幾點 1.因為是飛機大戰,需要一方我方飛機 乙個敵方飛機 ai 我方飛機需要用鍵盤控制。首先是鍵盤控制 float x input.getaxis vertical float z input.get...