五月天青色头像情侣网名,国产亚洲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ó)家法律
印江| 黎平县| 永康市| 吴江市| 巩义市| 玉树县| 洛隆县| 拜泉县| 芜湖市| 饶平县| 阜康市| 青浦区| 黄大仙区| 兴山县| 册亨县| 桦甸市| 视频| 东辽县| 新绛县| 仲巴县| 云浮市| 元阳县| 任丘市| 东宁县| 巩义市| 南投市| 镇宁| 景洪市| 来凤县| 巫山县| 陕西省| 阜平县| 丽江市| 平乐县| 永康市| 田阳县| 张家港市| 当阳市| 苍南县| 吴江市| 龙门县|