无码av一区二区三区无码,在线观看老湿视频福利,日韩经典三级片,成 人色 网 站 欧美大片在线观看

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

unity 2D游戲開發(fā)教程4:(Unity事件廣播機(jī)制【觀察者模式】開發(fā))

2023-06-09 21:05 作者:zhouhongjoe  | 我要投稿



教案如下:

課程知識點(diǎn):??

在游戲開發(fā)中想象下下面場景。例如:一個關(guān)卡場景里面,我們會有管理UI的GUIManager,管理游戲的GameManger,管理輸入的InputManager等等,當(dāng)關(guān)卡結(jié)束的代碼里面,我們經(jīng)常寫如下代碼:

GUIManager.instance.gameOver(); //處理UI上面的關(guān)卡結(jié)束顯示

GameManger.instance.gameOver();//處理整體游戲關(guān)卡結(jié)束邏輯,例如游戲生命復(fù)原

InputManager.instance.gameOver();//讓手柄,鍵盤等不能輸入等

如果還有很多組件要關(guān)卡結(jié)束時候處理業(yè)務(wù)的畫,這種代碼寫法是不可取的。

這個時候我們就要使用【事件廣播機(jī)制】,也就是在Unity項目里面用 (程序設(shè)計模式:觀察者模式),來優(yōu)化上面這種不可理代碼。

??我們今天來學(xué)習(xí)下CorgiEngin里面的事件廣播機(jī)制 (程序設(shè)計模式:觀察者模式),來看下用觀察者模式如何處理上面的問題。

?? 下面我們就來實(shí)現(xiàn)一下,只要一個Class就能完成自己游戲里面的事件分發(fā)機(jī)制了

1:創(chuàng)建我們的 MMEventManager,大家記住CorgiEngin引擎里面,EventManager放在那里的

2:在這個EventManager里面使用了ExecuteAlways,我們說明下作用

3:根據(jù)CorgiEngin的注釋,使用Event的步驟1,讓我們的GUIManager繼承MMEventListener 接口并監(jiān)聽MMGameEvent事件,表示GUIManager 要進(jìn)行隊MMGameEvent事件的監(jiān)聽

4:根據(jù)CorgiEngin的注釋,使用Event的步驟2,隊GUIManager重寫On Enable and Disable方法,Enable方法寫開始監(jiān)聽,Disable里面寫停止監(jiān)聽

5:?介紹C#語法學(xué)習(xí)(擴(kuò)展方法)

6:介紹C#語法學(xué)習(xí)(方法體內(nèi)out? 引用參數(shù))

7:介紹 C#語法 (#define 來控制工具類的報錯與否)

8:根據(jù)CorgiEngin的注釋,使用Event的步驟3,實(shí)現(xiàn)MMEventListener 接口方法

9:測試創(chuàng)建一個按鈕來進(jìn)行觸發(fā)Event

10“最后我們讓我們的GameManager也來監(jiān)聽這個Event




unity 2D游戲開發(fā)教程4:(Unity事件廣播機(jī)制【觀察者模式】開發(fā))的評論 (共 條)

分享到微博請遵守國家法律
阿坝| 银川市| 苏尼特右旗| 西乌珠穆沁旗| 平顺县| 梁河县| 宜章县| 天峻县| 盐亭县| 疏勒县| 息烽县| 清原| 中宁县| 新民市| 井研县| 临高县| 九龙城区| 黑龙江省| 通城县| 二手房| 甘肃省| 铁岭县| 闽清县| 四川省| 永平县| 蕉岭县| 梨树县| 晋州市| 博湖县| 朝阳市| 西丰县| 洪洞县| 闽清县| 长宁区| 那坡县| 岫岩| 安阳市| 灌云县| 泸定县| 莱州市| 宝清县|