*unity知乎话题很不错,满满的干货
http://www.zhihu.com/topic/19568806
*转载一大神整理的unity类图
*Physics类中两种射线方法 Linecast 和 Raycase
Linecast(Vector3 start, Vector3 end)
两个参数(起始位置,终止为止)
Raycast(Vector3 origin, Vector3 direction, float maxDistance)
三个参数(起源,方向,最大距离)
另外可以指定Layer,详见APi
*在游戏里经常出现需要检测敌人和我方距离的问题,这时如果要寻找所有的敌人,显然要消耗的运算量太大了,所以最好的办法是将攻击范围使用Collider表示,然后将Collider的isTrigger设置为True。最后使用OnTriggerEnter来做攻击范围内的距离检测,这样会极大提升程序性能。
*单例模式(Singgol),只被实例化一次,栈里(指针)指向堆中的唯一的对象
public static InGameDataManager initializeInGameDataManager() {
if (!inGameDataManager) {
InGameDataManagerGameObject = new GameObject("InGameDataManager");
//InGameDataManagerGameObject.parent= do it later
DontDestroyOnLoad(InGameDataManagerGameObject);
inGameDataManager = InGameDataManagerGameObject.AddComponent<InGameDataManager>();
}
return inGameDataManager;
}