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

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

《游戲編程模式》筆記——觀察者模式

2023-08-31 23:01 作者:黑白色的楓  | 我要投稿

觀察者模式是一種行為型設(shè)計(jì)模式。

當(dāng)被觀察者發(fā)生特定的變化時(shí),所有觀察者都會(huì)收到通知并自動(dòng)處理。

主要目的是解耦。

例如,角色升級(jí)時(shí),我們可以直接在玩家身上的代碼里去調(diào)用音頻系統(tǒng)播放一個(gè)升級(jí)音效,調(diào)用UI系統(tǒng)顯示升級(jí)界面,調(diào)用成就系統(tǒng)記錄玩家等級(jí)等。

這么看,似乎也還行,也能滿足目前的需求。若是再有需要升級(jí)時(shí)觸發(fā)的,比如解鎖新的功能,解鎖新的任務(wù),商店追加新的可購(gòu)買道具,觸發(fā)一個(gè)限時(shí)禮包等,我們又要在后面繼續(xù)堆各個(gè)系統(tǒng)的調(diào)用代碼。代碼量上去后,改動(dòng)起來(lái)可能就會(huì)牽一發(fā)而動(dòng)全身。

使用觀察者模式的話,只需要在玩家升級(jí)的時(shí)候去通知所有觀察者告訴他們現(xiàn)在玩家的等級(jí)就行了。

我們可以在玩家的代碼中添加一個(gè)升級(jí)事件,所有需要監(jiān)聽玩家是否升級(jí)的觀察者都通過(guò)AddListener函數(shù)把自己的函數(shù)加進(jìn)來(lái),玩家升級(jí)后觸發(fā)升級(jí)事件,所有的觀察者都會(huì)開始做對(duì)應(yīng)的處理。

如果被觀察者是單例類,事件變量和添加刪除監(jiān)聽的函數(shù)就可以不用?static?修飾。

觀察者需要在自己生命周期開始的時(shí)候去監(jiān)聽事件,在生命周期結(jié)束的時(shí)候取消監(jiān)聽。

如此一來(lái),便完成了一個(gè)簡(jiǎn)單的觀察者模式。


參考

《游戲編程模式》

《游戲編程模式》筆記——觀察者模式的評(píng)論 (共 條)

分享到微博請(qǐng)遵守國(guó)家法律
台前县| 台中市| 武强县| 湄潭县| 桂林市| 眉山市| 通河县| 新竹县| 通榆县| 河津市| 开江县| 通道| 阜阳市| 青岛市| 巴中市| 呼伦贝尔市| 嵊泗县| 巢湖市| 镇巴县| 高州市| 宾阳县| 抚远县| 福清市| 昌乐县| 河池市| 商丘市| 德兴市| 肇州县| 澎湖县| 永登县| 丹巴县| 蓝山县| 石狮市| 宝应县| 泽州县| 庆安县| 台南市| 曲靖市| 信丰县| 房山区| 平泉县|