首先介紹一下啊介面
igoinfo 介面用於外界訪問物件的型別,以及呼叫其**函式
namespace jumpgame
void recycle();
}}
ipool 介面用於外界訪問其管理的物件型別,最大數量,初始化物件池,獲取物件,**物件
using unityengine;
namespace jumpgame // 最大物件數
prefabtype type // 物件型別
void init(int maxcount, prefabtype type); // 初始化物件池
gameobject getresource(); // 獲取物件
void recycle(gameobject go); // **物件
}}
下面介紹一些工具類
pathtool 工具類用於儲存路徑資訊
using unityengine;
using system.collections.generic;
namespace jumpgame
public enum singleprefabtype
public static class pathtool // end if
return prefabpathdict;
} // end get
} // end
public static dictionarysingleprefabpathdict // end if
return singleprefabpathdict;
} // end get
} // end
} }
poolconfig 用於配置物件池
using jumpgame;
using system.collections.generic;
public class poolconfig // end if
return infodict;
} // end get
} // infodict
}
prefabtool 用於儲存已載入的預製體
using unityengine;
using system.collections.generic;
namespace jumpgame // end if
return prefabdict;
}} // end
}}
下面實現一下物件池類
using unityengine;
using system.collections.generic;
namespace jumpgame
public prefabtype type
private list_golist = new list();
public void init(int maxcount, prefabtype type)
public gameobject getresource() else else // end if
go = instantiate(prefab);
switch (type) // end switch
go.setactive(false);
go.transform.setparent(transform);
go.transform.localposition = vector3.zero;
}// end if
return go;
}public void recycle(gameobject go) else // end if}}
}
建立乙個資源管理類管理所有物件池
using unityengine;
using system.collections.generic;
using jumpgame;
namespace mymanager
// 物件池字典
private dictionarypooldict;
public void startup() // end if
mstatus = managerstatus.started;
} // end method
/// /// 根據物件型別與物件的最大數量新增物件池
///
/// 物件型別
/// 物件的最大數量
private void pushpoolwithtypeandmaxcount(prefabtype type, int maxcount)
/// /// 根據物件型別獲取物件
///
/// 物件型別
///
public gameobject getresourcewithtype(prefabtype type) // end if
return null;
} // end method
/// /// **遊戲物體
///
///
public void recylcewithgo(gameobject go) // end if
} // end method
} // end class
}
Unity3D 物件管理緩衝池之美
在遊戲中,經常會有產生 銷毀大量同類遊戲物件的需求,例如遊戲中的不斷出現的敵人 不斷重新整理的寶箱及遊戲中的一些特效,使用物件池就可以管理這些物件的產生和銷毀。直接上 using unityengine using system.collections using system.collection...
Unity3D開發(九) Unity3d流光效果
遊戲開 壇 hello game 遊戲開發群 201276069 之前曾經注意過material 中紋理的屬性都有 tiling 和offset 但沒有深究過其用途,今天才知道竟然可以利用 offset做uv 動畫,從而完成各種有趣的動畫,比如流光效果!流過效果即通常一條高光光在物體上劃過,模擬高光...
unity3D內的常用輸入物件
該平台為使用者提供了 兩個輸入物件touch與input。在unity中使用touch輸入物件來獲取觸控動作相關的引數。因目前系統多為觸屏的,所以我們把touch 寫在相應的遊戲物件的指令碼上即可。其物件的變數資訊如下圖所示 var projectile gameobject 宣告乙個子彈的遊戲物件...