在遊戲中,經常會有產生/銷毀大量同類遊戲物件的需求,例如遊戲中的不斷出現的敵人、不斷重新整理的寶箱及遊戲中的一些特效,使用物件池就可以管理這些物件的產生和銷毀。
直接上**:
using unityengine;
using system.collections;
using system.collections.generic;
/** * 單例類,建立或者銷毀窗體
*/public class uiwindowmanager {
private static uiwindowmanager windowmag;
private static dictionarywindowcache = new dictionary();
public static uiwindowmanager getinstance() {
if (windowmag == null) {
windowmag = new uiwindowmanager();
} return windowmag;
} public gameobject openwindow(string windowname) {
if (windowcache.containskey(windowname)) {
closewindow(windowname);
return null;
} gameobject windowobject = resources.load(windowname) as gameobject;
gameobject prefabclone = gameobject.instantiate(windowobject);
prefabclone.transform.parent = uiroot.list[0].transform;
prefabclone.transform.localposition = vector3.zero;
prefabclone.transform.localscale = vector3.one;
windowcache.add(windowname, prefabclone);
return prefabclone;
} public void closewindow(string windowname) {
if (windowcache.containskey(windowname)) {
// debug.log(windowname);
gameobject.destroy(windowcache[windowname]);
windowcache.remove(windowname);
} }}
Unity3D 構建物件池
首先介紹一下啊介面 igoinfo 介面用於外界訪問物件的型別,以及呼叫其 函式 namespace jumpgame void recycle ipool 介面用於外界訪問其管理的物件型別,最大數量,初始化物件池,獲取物件,物件 using unityengine namespace jumpga...
Unity3D遊戲架構設計之物件管理 一
1概述 先用一張簡要的模組圖來幫助大家了解遊戲架構設計,了解物件管理在架構中所處的位置和他的作用是。實際的模組圖會比本圖的內容詳細,並且對模組的分割有其他的方式,這張圖只是為了幫助大家了解物件管理,做了很多精簡。要想講清楚物件管理,還得從下層的 資源管理器 說起。1.1資源管理 資源管理主要有兩個重...
unity3d研究之版本管理(SVN)
unity進行多人協作開發時必定會涉及資源 配置的版本管理。這裡介紹一下用svn git或其它版本管理系統進行unity工程版本管理的方法。新建乙個unity工程,目錄結構基本是這樣的 最終大約是這樣 unity工程中有很多二進位制檔案,會頻繁導致衝突,library目錄的檔案在每次unity ed...