為什麼要用委派事件來做引擎?
最近在寫些小遊戲,遊戲流程規劃不外乎固定流程的呼叫與回傳,目前用到委派方法來做簡單的事件系統,好達成後續程式之間傳遞。如何做?
1.先寫好一個class做服務器端,整個遊戲流程就是由物件去訂閱服務器的委派事件,由服務端發出所有遊戲中的改變給已訂閱物件。
2.撰寫一個父類別,用來訂閱服務器端的委派。(這個類別包含訂閱、回傳訂閱...等)
3.遊戲中所有物件都繼承父類別,並在物件中調用父類別寫好的訂閱/接收委派事件。
4.這樣寫可能還是不清楚,簡單來說服務端委派了多個不同事件(升級事件、得分事件、遊戲結束事件),遊戲物件根據需要,把不同的事件訂閱進去,這樣只要遊戲發生"升級事件",有訂閱的物件就會收到反饋,這樣就完成簡單引擎製作了。
這樣有什麼優點?
1.程式間的傳遞規則化,可變性高
2.不用在Update寫一堆程式偵測條件達成沒(我是初學者之前真的這樣做...)
這樣有什麼缺點?
1.製作簡單遊戲時,這樣寫有點長
沒有留言:
張貼留言