五月天青色头像情侣网名,国产亚洲av片在线观看18女人,黑人巨茎大战俄罗斯美女,扒下她的小内裤打屁股

歡迎光臨散文網(wǎng) 會(huì)員登陸 & 注冊(cè)

大二VR專業(yè)unity代碼學(xué)習(xí)日常3——單例模式之偽單例

2023-04-18 23:14 作者:湯煜清  | 我要投稿


筆記1
筆記2

單例模式

單例模式能節(jié)省系統(tǒng)資源也能簡化代碼,顧名思義,單例,就是一個(gè)實(shí)例。

什么時(shí)候需要用單例?當(dāng)需要大量創(chuàng)建類的時(shí)候就可以用單例模式來代替不斷實(shí)例化的類。

偽單例

偽單例

代碼7、16-19行就是偽單例的例子:用static靜態(tài)化一個(gè)腳本的實(shí)例,讓這個(gè)實(shí)例能被全局訪問,再在Awake里初始化這個(gè)靜態(tài)實(shí)例,讓其被調(diào)用時(shí)確保已完成初始化。

為什么靜態(tài)化后就能全局訪問?全局訪問是靜態(tài)化的特點(diǎn),正常方法需要先創(chuàng)造實(shí)例后才能訪問,而靜態(tài)化后不需要實(shí)例就能訪問,同樣能全局訪問的還有vector結(jié)構(gòu)體中的Distance方法,因?yàn)檫@個(gè)方法也是靜態(tài)方法。普通方法就像模具,要訪問這個(gè)方法先要用模具印出模型才能拿到這個(gè)方法,但靜態(tài)化后方法就變成了工具包,直接背在身上隨時(shí)都能拿出來用。

this是什么?this是指當(dāng)前腳本所掛載的gameobject實(shí)例,比如腳本常掛在camera、canvas這些gameobject上,將這個(gè)實(shí)例賦給類的靜態(tài)化實(shí)例,這個(gè)靜態(tài)化實(shí)例里就有了腳本里的內(nèi)容,再加上靜態(tài)化本身的全局訪問的功能,就能讓其他腳本也能調(diào)用當(dāng)前腳本的變量或者方法。把一個(gè)類靜態(tài)化,就像把貨物從家里放到了港口集裝箱里,人流量很大,現(xiàn)在誰都能拿得到了,而我們把當(dāng)前gameobject實(shí)例放在了這個(gè)集裝箱里,就讓其他腳本都能通過這個(gè)集裝箱來訪問gameobject里的腳本。

instance為什么不在start函數(shù)里初始化?因?yàn)槠渌_本一般都在start函數(shù)里調(diào)用instance,如果寫在start里可能存在調(diào)用時(shí)還未初始化從而出現(xiàn)錯(cuò)誤的情況,為了保證instance被調(diào)用時(shí)已經(jīng)初始化完成,instance就需要寫在awake函數(shù)里,因?yàn)閍wake函數(shù)會(huì)在start函數(shù)之前調(diào)用。就是有人(其他腳本調(diào)用)上門來拜訪,instance需要先做好準(zhǔn)備,如果不做好準(zhǔn)備就會(huì)報(bào)錯(cuò)。




大二VR專業(yè)unity代碼學(xué)習(xí)日常3——單例模式之偽單例的評(píng)論 (共 條)

分享到微博請(qǐng)遵守國家法律
玛纳斯县| 大悟县| 陇南市| 余庆县| 历史| 岢岚县| 邓州市| 宝丰县| 常宁市| 邹城市| 炎陵县| 安丘市| 新晃| 井研县| 德州市| 吴江市| 呈贡县| 翁源县| 台州市| 黎城县| 日土县| 南安市| 元江| 仁化县| 祥云县| 莱阳市| 东源县| 大余县| 化隆| 吉安县| 山东省| 同心县| 湖口县| 镇原县| 环江| 舟山市| 丰县| 溆浦县| 青河县| 通河县| 益阳市|