解決的問題
使用grid放置item的時候,每次資料可能都不一樣,但是每次都刪除grid下面的節點,之後動態建立新的item是比較浪費的。
寫個簡單的工具函式,原理很簡單。
1、先獲得grid下面的可用item
2、根據data的大小進行初始化
3、每次在可用的item列表裡面獲取新的item,如果不夠用了,就建立新的item
4、disable掉沒用的item
附:每個grid下面預先要有乙個名字包含「template_」的模板item。這個模板不會被用,之前嘗試過把這個模板也當做乙個item正常使用,但是有些ngui的widget會出現bug。
[csharp] view plaincopy
using
unityengine;
using
system.collections.generic;
//qq group :333417608
public
class
uitools
else
nguitools.setactiveself (go,
true
);
return
go;
} static
public t getnewitemobj(listcanuselist, gameobject root, gameobject prefab) where
t : component
else
item.name = string.format("
", 0
);
nguitools.setactiveself (item.gameobject,
true
);
return
item;
} static
public listgetcanuseitemlist (gameobject root)
} return
itemlist;
} static
public listgetcanuseitemlist(gameobject root) where
t : component
} return
childrenlist;
} static
public
void unactiveunuseitem (listcanuselist)
} static
public
void unactiveunuseitem(listcanuselist) where
t : component
} static
private
bool
isnottemplategameobject(gameobject go)
return
result;
} }
分析下面的程式
includeint main 1 執行時會輸出什麼資訊?為什麼?答 會輸出 因為第一行十一字元形式輸出,所以會吧97和98當作相依字元的ascii值,輸出的時候按照字元顯示,第二行由於是以整形輸出,所以輸出對應整數值 2 如果將程式第4,5行改為 c1 197 c2 198 執行時會輸出什麼資訊?...
linux下面的軟體選擇
我自己用的一些linux軟體,就想起來這些,以後用什麼了再新增。1.瀏覽器 firefox 3.bbs客戶端 qterm 4.查詞 stardict 5.ftp客戶端 kftpgrabber lftp 6.bt客戶端 tran ission 8.中文輸入法 scim python 10.qq客戶端 ...
linux下面的tcp程式設計
首先要建立伺服器建立起socket,然後與本地的埠進行繫結,接著就開始接收客戶端的請求並建立與它的連線,接下來,客戶端傳送的訊息。tcpserver.c int main printf socket id d n sockfd 設定socket in 結構體中相關的引數 server sockadd...