物件池 c ,unity ,物體頻繁使用適用

2021-10-10 05:11:07 字數 1740 閱讀 4357

using system;

using system.collections;

using system.collections.generic;

using unityengine;

namespace common

public

class

gameobjectpool

:monosingleton

public

void

lala

(string asd)

//遍歷當前key有多少個物件

}//finduserfulobject(asd);

}///

/// 通過物件池建立物件

///

/// 類別

/// 需要建立的例項

/// 位置

/// 旋轉

/// 例項

public

gameobject

createobject

(string key,

gameobject prefab,

vector3 pos,

quaternion quaternion)

userobject

(pos, quaternion, go)

;//將使用封裝成了乙個方法,實際上就是,設定transform元件相關資訊,以及

return go;

}//使用物件

private

void

userobject

(vector3 pos,

quaternion quaternion,

gameobject go)

"go.pos:2 " + go.transform.rotation);

}//新增物件

private

gameobject

addobject

(string key,

gameobject prefab)

cache[key]

.add

(go)

;return go;

}//尋找物件

private

gameobject

finduserfulobject

(string key)

return

null;}

//**物件

public

void

collectobject

(gameobject go)

///

/// **物件

///

/// 物件

/// 時間

public

void

collectobject

(gameobject go,

float delay =0)

public

ienumerator

collectobjectdelay

(gameobject go,

float delay)

//刪除物件

public

void

clear

(string key)

cache.

remove

(key);}

//清空全部

public

void

clearall()

}}}

物件池的使用

1 乙個模板類的物件池,template class objpool objpool void bool init int nmaxcount 10 t newobj void 取得pos的物件 同時在obj中記錄在pool中的index pool unlock return pobj void d...

egret物件池使用

物件池 class displayobjectpool 作為物件池的詞典dict private objpooldict any singleton private static instance displayobjectpool public static getinstance display...

Cocos Create中使用物件池

1.先宣告乙個預製體 cc.class 2.建立乙個管理節點物件的物件快取池,並且將物件存入物件快取池中,暫設數量為5 cc.class onload 3.寫乙個建立物件的方法,首先判斷物件池中是否存有空閒物件,如是則直接取出物件,沒有則需要建立。creatplane parentnode,pos ...