cocos-creator官方教程進階-聯網對戰(TypeScript+Golang+幀同步)

 

最近打算學習creator,跟着官方教程做了遍發現和u3d有些相似,用着還算順手,就是實在無法習慣js,後來改成ts終於有些感覺,所以決定繼續優化這個ts版的官方教程。

前段時間學習go的時候寫了個服務端框架(DrillServer:https://github.com/BAN1993/DrillServerGo.git),正好拿來和這個項目結合,做個聯網對戰的遊戲。

先上源碼:https://github.com/BAN1993/CatchStar.git


Client

對玩法和動畫上有所改進,人物更加Q彈,改動較小就不做闡述了。

  • 網絡模塊

添加了網絡模塊(NetWork)。業務模塊通過regist註冊監聽,網絡模塊收到協議後依次回調。

客戶端本地也有一個數據回調機制(DataPoster),與網絡模塊類似,業務模塊通過regist註冊,數據發生改變時(如收到協議或本地角色更改方向)調用update則會通知到每個註冊過的模塊上。

  • 同步機制

遊戲主要採用幀同步,每N幀同步一次位置和方向。爲了減少瞬移和延遲的情況,做了預測和修復位置的邏輯:根據當前方向實時繪製預測的位置,當收到同步協議後,如果距離偏差較大則使用動畫將角色拖拽到準確位置。

 

Server

服務端使用最典型的框架

Gateway:負責轉發協議

DataBaseServer:負責處理大廳協議(登錄、註冊等)

GameServer:處理遊戲區協議

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章