U3D框架搭建之訊息系統(前端通訊)

2021-07-31 18:11:12 字數 1159 閱讀 6246

畢業快兩年了,努力工作,像坐火箭似的提公升了半年多,也浮躁了半年多。這半年多來基本處於迷茫期,可能是因為剛畢業的半年提公升速度太快,而現在基本沒什麼提公升,前後反差太大,而導致的一種恐慌吧。和很多前輩聊過,後來也不停的看帖子,試圖尋找類似的經歷以及度過這段「瓶頸期」的方法。後來靜下心來總結了一下,發現,不是現在提公升太慢,是現在心裡太浮躁,看什麼都靜不下心來,很多看似很難的東西不願意自己去嘗試,去突破自己。

廢話了半天,從今天開始就踏踏實實踏出第一步吧。

回想起之前手遊專案的前端框架功能,自己也嘗試著構建一些前端的框架吧。

前端的訊息系統,即前端自己的通訊機制,方便前端開發人員實現物件間的資料傳遞。

為什麼前端需要進行物件間的資料傳遞呢?(講到這就太基礎了。。懂得同學不要吐槽。。因為我自己找資料看東西的時候碰到一些略過基礎講解的,看的會不太明白,這樣講對一些剛接觸的同學是好事兒吧)

這樣,結構就很清晰了,在接收伺服器的類裡完成資料的處理,然後發訊息給角色面板,如果面板是關著的,當然就接收不到發來的資料了。當面板是開著的,因為面板已經註冊為該訊息的觀察者了,所以會收到資料更新,從而對面板上的顯示進行相關的更新。

下面貼出前端訊息功能的框架**:

using unityengine;

using system.collections.generic;

public class msgcontroller

public static msgcontroller getinstance()

return instance;

}public void addlistener(string msgname, eventhandler eventhandler)

else

}public void removelistener(string msgname)

}public void sendmsg(string msgname, message msg)}}

}

**很簡單,我們通過乙個string型別來把某個物件註冊為某個訊息的觀察者,當然,這個訊息的觀察者可以是n個。然後通過委託,在send訊息的時候,實現對應方法的呼叫。

message是個自定義的類。用來裝載一些通訊常用的資料,比如傳送者,訊息體之類的。

第一次老老實實自己寫一篇部落格,膜拜一下那些指引過我的部落格大神。

U3D框架 單例框架

寫程式應遵循的原則 高內聚 內容的聚合 低耦合 功能與功能之間的聯絡 裡盡量不要有冗餘 既重複,沒有用的 using system.collections using system.collections.generic using unityengine 單例框架,使用泛型,限制條件 t被例項 w...

U3D粒子系統

每個引擎都不能沒有粒子系統,u3d的粒子系統也同樣相當的強大,更多的細節以後用到慢慢補充。屬性 ellipsoid particle emitter min max size 每個粒子的半徑大小隨機範圍 越大每個粒子就越大,整個粒子系統看起來就越厚 min max energy 每個粒子的能量隨機範...

U3D指令碼系統

遊戲常用的指令碼系統是lua 什麼是指令碼?c 指令碼並不屬於指令碼 指令碼指的是 使用方式與位元組碼 bytecode 類似,是在執行時通過虛擬機器系統 virtual machine 來載入檔案,動態更改邏輯影響遊戲行為 一條命令被可優化的底層操作定義 一系列這樣的命令被編碼成位元組流 虛擬機器...