最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(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ó)家法律
利津县| 天长市| 原阳县| 福贡县| 玛曲县| 汝南县| 车险| 五常市| 南溪县| 荥阳市| 罗城| 疏勒县| 柏乡县| 潼南县| 龙岩市| 无极县| 常熟市| 武功县| 嘉义市| 简阳市| 德江县| 克什克腾旗| 泰顺县| 望江县| 儋州市| 千阳县| 许昌市| 徐水县| 武宁县| 罗源县| 瑞昌市| 屯门区| 财经| 青海省| 巴楚县| 双流县| 醴陵市| 贵港市| 宁晋县| 乃东县| 墨脱县|